【发布时间】:2013-05-01 22:20:37
【问题描述】:
我只是想让一些代码在 ISS 上运行,而这些代码已经在 Apache 上运行了很长时间。
一个特定的 mod_rewrite 规则被证明很难发挥作用。
在我使用过的 Apache 中:
RewriteRule ^media/(js|css|img|font)/(.+)\.(\d+)\.(js|css|png|jpg|gif)$ /media/$1/$2.$4
[L]
将/media/css/style.1367406756.css 之类的网址转换为/media/css/style.css,让我在文件中添加时间戳以避免缓存问题。
在我添加的 web.config 文件中:
<rule name="Cache bust assets" stopProcessing="true">
<match url="^(.*)$"/>
<conditions>
<add input="{URL}" pattern="^media/(js|css|img|font)/(.+)\.(\d+)\.(js|css|png|jpg|gif)$"/>
</conditions>
<action type="Rewrite" url="/media/{R:1}/{R:2}.{R:4}" appendQueryString="true" />
</rule>
哪个,看起来应该可以了。 (它与另一个规则并列,它工作正常,所以并不是服务器没有解析它或任何东西)。
我没有收到任何错误,除了访问 /media/css/style.1367406756.css 给我一个 404 错误。
我怎样才能做到这一点?
【问题讨论】:
标签: iis url-rewriting web-config