【发布时间】:2009-06-22 13:45:25
【问题描述】:
我想在我的网站上使用自定义扩展。 我的意思是,我不想使用“default.aspx”,我想使用“default.customext”
如何在 web.config 或其他任何地方执行此操作?
ps:我没有机会更改 IIS 上的 asp.net 配置
我使用的是 .NET Framework 3.5、Visual Studio 2008 sp1,目标服务器是 IIS 7
谢谢
【问题讨论】:
标签: asp.net
我想在我的网站上使用自定义扩展。 我的意思是,我不想使用“default.aspx”,我想使用“default.customext”
如何在 web.config 或其他任何地方执行此操作?
ps:我没有机会更改 IIS 上的 asp.net 配置
我使用的是 .NET Framework 3.5、Visual Studio 2008 sp1,目标服务器是 IIS 7
谢谢
【问题讨论】:
标签: asp.net
如果您在 IIS7 集成模式下运行(我建议使用该模式),那么您就可以开始了。只需将 Web.config 的 <system.webServer> 部分中的 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>
【讨论】:
看看这个在 IIS6 中执行此操作的 StackOverflow 问题:ASP.NET - IIS Custom Mapping Extensions - How?
【讨论】:
您可以在Helicon Ape mod-rewrite 中使用如下配置:
RewriteBase /
RewriteRule ^default\.customext$ default.aspx [NC,L]
【讨论】:
如果您可以安装ISAPI rewrite,您就可以“重写”您的页面。
【讨论】: