我已经看过了相关的问题,但找不到任何有用的东西。所以这是我的问题。
上传我的站点的共享服务器正在更新,他们最近安装了最新的IIS (我想是7.5)。他们还安装了重写模块。
在此更新之前,我使用了通配符(通过aspnet_isapi过滤器)映射来重写路径,如mysite.com/contact到mysite.com/pages/contact.aspx
现在,我需要在配置文件中使用,但是正则表达式让我很头疼。
我想将所有的.aspx文件重定向到pages/filename.aspx
但忽略那些静态文件,如.css、.jpg、.png等
我最终使用:
<rewrite>
<rules>
<rule name="wildcard">
<match url="(.*)" />
<action type="Rewrite" url="pages/{R:1}.aspx" />
</rule>
</rules>
</rewrite>
使用上述方法,可以完成以下工作:
mysite.com/contact
等
但这些不是
mysite.com/contact/
mysite.com/css/style.css
mysite.com/
等
有人能帮帮忙吗?如果你需要更多信息,请告诉我。
谢谢
发布于 2011-12-06 08:05:59
您是否尝试过“不是文件”和“不是目录”条件?
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>
https://stackoverflow.com/questions/5867264
复制相似问题