我只是想让一些在 Apache 上运行了很长时间的 ISS 上运行的代码。
一个特定的 mod_rewrite 规则被证明很难发挥作用。
在 Apache 中我使用过:
RewriteRule ^media/(js|css|img|font)/(.+)\.(\d+)\.(js|css|png|jpg|gif)$ /media/$1/$2.$4
[大]
要将 URL/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 错误。
我怎样才能使这项工作?