我在IIS7上的ASP.NET 4.0中使用了重写规则:
<system.webServer>
<rewrite>
<rules>
<rule name="Rewrite default to aspx" stopProcessing="true">
<match url="^$" ignoreCase="false" />
<action type="Rewrite" url="home.aspx" />
</rule>
</rules>
</rewrite>
<defaultDocument>
<files>
<add value="home.aspx" />
</files>
</defaultDocument>
</system.webServer>
此规则需要:(http:/example.com/aboutus.aspx),它会从URL末尾删除.aspx。我遇到了在我的子域上安装wordpress的问题(http:/www.example.com/blog)由于我的重写规则,我收到以下错误:
描述:HTTP 404.您正在查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。
请求的网址:/blog/.aspx
有谁知道我如何修复网址重写规则,以便安全到达(http://www.example.com/blog/)而不是在最后添加.aspx?
是否有某种语法可以搜索blog子目录以忽略目录'/ blog /'?
非常感谢!谢谢! :)
答案 0 :(得分:0)
如果您希望将规则应用于除/blog/*
之外的所有网址,则可以使用否定选项:
<rule name="Rewrite default to aspx" stopProcessing="true">
<match url="^blog/" ignoreCase="false" negate="true" />
<action type="Rewrite" url="home.aspx" />
</rule>