我在 VS2012 中开发了一个小型网站,它利用以下重写web.config
:
<system.webServer>
<rewrite>
<rules>
<rule name="DynamicRewrite" stopProcessing="true">
<match url="(.*)"/>
<action type="Rewrite" url="Default.aspx/{R:1}"/>
</rule>
</rules>
</rewrite>
</system.webServer>
这在我的开发机器上的 IIS Express 中运行良好,但服务器运行的是 IIS 6,并且重写失败(我在应该可以工作的 URL 上得到 404)。
我找到了这篇文章,但它谈论的是.asax
文件,即一个 Web 应用程序。我只有一个简单的网站Default.aspx
和一些自定义类。
我有什么办法可以完成这项工作吗?基本上,我希望能够在web.config
我的 aspx 文件中执行此操作,但我可以完全访问 IIS,因此我也可以在那里进行配置,如果需要的话(虽然我不知道如何——IIS 6 是真的很吓人)。
目前,我使用的是 .NET 4.0,但如果需要,我总是可以降低到 3.5(听说 4.0 的无扩展 URL 存在一些重写问题,但我从来没有真正了解它的要点)。