Question

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

Was it helpful?

Solution

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.

OTHER TIPS

You want to use httpHandlers

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)

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?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top