1

我正在尝试使用HTML 5 Boilerplate 项目中的重写规则来绕过浏览器缓存(又名缓存破坏):

<rewrite>
    <rules>
        <rule name="Cachebusting">
            <match url="^(.+)\.\d+(\.(js|css|png|jpg|gif)$)" />
            <action type="Rewrite" url="{R:1}{R:2}" />
        </rule>
        <rule name="Remove WWW" stopProcessing="true">
            <match url="^(.*)$" />
            <conditions>
              <add input="{HTTP_HOST}" pattern="^(www\.)(.*)$" />
            </conditions>
            <action type="Redirect" url="http://chewsy.com{PATH_INFO}" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

如果我尝试使用 访问我的 css /css/all.123456.css,它无法找到带有它正在寻找的错误报告的文件/css/all.123456.css(不重写)。我试过注释掉"Remove WWW"规则,看看这是否是冲突,但行为相同。

有什么想法为什么不应用此规则并重写 URL?

更新:我在 VS2010 中为我的 Web 服务器使用这些设置: 在此处输入图像描述

4

1 回答 1

3
<match url="^(.+)\.\d+\.(js|css|png|jpg|gif)$" />
<action type="Rewrite" url="{R:1}.{R:2}" />

我认为您想获得/css/all.css,如果没有,请发布所需的结果...

编辑: VS内部开发服务器(Cassini)不支持IIS URL重写模块,你必须使用IIS(Express),或者一些第三方组件(http://urlrewriter.net/)......

于 2012-06-25T02:27:20.260 回答