我在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)。
我找到了this post,但它谈到的是.asax
个文件,即一个网络应用程序。我只有一个简单的网站Default.aspx
和一些自定义类。
我有什么办法让这项工作成功吗?基本上,我希望能够在web.config
或我的aspx文件中执行此操作,但我可以完全访问IIS,因此我也可以在那里进行配置,如果这是必要的(尽管我不知道如何 - IIS 6非常可怕。)
目前,我使用的是.NET 4.0,但如果需要,我总是可以降低到3.5(听说有一些关于4.0的无扩展URL的重写问题,但我从来没有真正理解它的主旨)。