为什么在web.config中声明的缓存清除规则被忽略?

时间:2012-06-25 02:20:23

标签: asp.net html5 web-config html5boilerplate

我正在尝试使用HTML 5 Boilerplate project中的重写规则来绕过浏览器缓存(也就是缓存清除):

<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/all.123456.css访问我的css,则无法找到错误报告其正在查找/css/all.123456.css(无重写)的文件。我已经尝试评论"Remove WWW"规则,看看这是否是冲突,但行为相同。

为什么没有应用此规则并重写网址的任何想法?

更新:我在VS2010中使用这些设置用于我的网络服务器: enter image description here

1 个答案:

答案 0 :(得分: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)或某些第三方组件({{3} })...