忽略Url中的静态文件重写模块IIS(7.xx)

时间:2011-05-03 08:58:19

标签: iis-7 mapping url-rewriting

我已经完成了相关的问题,找不到任何有用的东西。所以这是我的问题。

我的网站上传的共享服务器正在更新,他们最近安装了最新的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/

有人可以帮忙吗? 如果您需要更多信息,请与我们联系。

由于

1 个答案:

答案 0 :(得分:2)

您是否尝试过“不是文件”和“不是目录”条件?

<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
</conditions>