How do you change the extension that .Net pages will run under?

 ̄綄美尐妖づ 提交于 2019-12-06 02:09:44

问题


I need my .net application to use the .html extension instead of .aspx

I'm converting a php app and there are external applications which depend on that extension to function.

What is the best way to do this?

Thanks


回答1:


In IIS, when you create the application for the virtual directory, click on "Configuration" for the application, and edit "App mappings", i.e. add a new mapping for html.

Or, in your web.config, in add this sections:

<httpHandlers>
   <remove verb="*" path="*.html" />
   <add verb="*" path="*.html" type="System.Web.UI.PageHandlerFactory" />
</httpHandlers>
<compilation>
   <buildProviders>
       <buildProvider 
           extension=".html" 
           type="System.Web.Compilation.PageBuildProvider" />
   </buildProviders>
</compilation>

EDIT: Added the section, according to the comment. Thanks Chris.




回答2:


You want to use httpHandlers




回答3:


Note that I am not 100% sure this will work with the PHP extension, we are using this procedure for a custom extension here.

You can change the IIS configuration: Open the IIS Console (right click on My Computer > Manage... > Services and applications)

  • If you are in a website, open the websites properties and the "Home directory" tab.
  • If you are in a virtual directory, the properties then the "Virtual Directory" tab.

Click The "Configuration Button", look up the .aspx extension and use the same configuration for the ".php" extension (tip: you can copy paste the executable dll name between both dialogs)




回答4:


Some time ago, we migrated a web application from coldfusion to PHP, and had to preserve the old URLs. The way we did it was to use mod_rewrite to rewrite .cfm URLs to .php ones. Perhaps you can do something similar?



来源:https://stackoverflow.com/questions/240382/how-do-you-change-the-extension-that-net-pages-will-run-under

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!