我已经完成了相关的问题,找不到任何有用的东西。所以这是我的问题。
我的网站上传的共享服务器正在更新,他们最近安装了最新的IIS(我认为7.5)。他们也安装了重写模块。
在此更新之前,我使用通配符(通过aspnet_isapi过滤器)映射来重写路径 mysite.com/contact 至 mysite.com/pages/contact.aspx
现在,我需要在配置文件中使用,但正则表达式给我带来了麻烦。
我想重定向所有 .aspx文件到 页/ [文件名]的.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/
等
有人可以帮忙吗? 如果您需要更多信息,请与我们联系。
由于
答案 0 :(得分:2)
您是否尝试过“不是文件”和“不是目录”条件?
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>