Asp.net 如何使用自定义文件扩展名而不是.ASPX

Asp.net 如何使用自定义文件扩展名而不是.ASPX,asp.net,Asp.net,我想在我的网站上使用自定义扩展名。 我的意思是,我不想使用“default.aspx”,我想使用“default.customext” 如何在web.config或其他任何地方执行此操作 ps:我没有机会更改IIS上的asp.net配置 我使用的是.NETFramework3.5、VisualStudio2008SP1,目标服务器是IIS7 谢谢你如果你在IIS7集成模式下运行(我建议使用),你就可以开始了。只需将Web.config的部分中的customext映射到PageHandlerFac

我想在我的网站上使用自定义扩展名。 我的意思是,我不想使用“default.aspx”,我想使用“default.customext”

如何在web.config或其他任何地方执行此操作

ps:我没有机会更改IIS上的asp.net配置

我使用的是.NETFramework3.5、VisualStudio2008SP1,目标服务器是IIS7


谢谢你

如果你在IIS7集成模式下运行(我建议使用),你就可以开始了。只需将Web.config的
部分中的
customext
映射到
PageHandlerFactory

<system.webServer>
    <handlers>
        <add name="CustomExtensionHandler" 
             path="*.customext" 
             verb="*" 
             type="System.Web.UI.PageHandlerFactory" 
             preCondition="integratedMode" />
    </handlers>
</system.webServer>

IIS7经典模式。比如:

<system.web>
  <httpHandlers>
     <add path="*.customext" 
         verb="*" 
         type="System.Web.UI.PageHandlerFactory, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </httpHandlers>
</system.web>
<system.webServer>
  <handlers>
     <add name="CustomExtensionISAPI" 
         path="*.customext" 
         verb="*" 
         modules="IsapiModule" 
         scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
  </handlers>
</system.webServer>


如果可以安装rewrite,则可以“重写”页面。

在IIS6中查看此堆栈溢出问题:

您可以在mod rewrite中使用以下配置:

RewriteBase /
RewriteRule ^default\.customext$ default.aspx [NC,L]