繁体   English   中英

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

[英]Why is the cache busting rule declared in web.config being ignored?

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

是否有任何想法未应用此规则并重写URL?

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

<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/ )...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM