IIS7 URL重写 – 重写CSS文件

我试图用某些规则来重写某些CSS文件,所以它用一个前缀replaceCSS中的每一个链接实例(如background: url("/myuri.jpg") )(如后面所示background: url("/zeus/myuri.jpg")

这些是规则。

 <rule name="ReverseProxyOutboundRule2" preCondition="IsCSS" enabled="true" stopProcessing="false"> <match filterByTags="None" pattern="url\(&quot;(.*)&quot;\)" /> <action type="Rewrite" value="url(&quot;/zeus{R:1}&quot;)" /> <conditions> <add input="{URL}" pattern="/zeus" /> </conditions> </rule> <preCondition name="IsCSS"> <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/css" /> </preCondition> 

然而,只有一个url正在被这种方式取代,其余的被忽略。

事先谢谢。

这是你的正则expression式模式。

你已经使用了url\(&quot;(.*)&quot;\) ,它会在你的第一个url之后贪婪地匹配你的文件中的最后一个字符。 这是不明显的,因为您的replace只是匹配的内容的前缀,所以似乎只有第一个url被触摸。

尝试使用一个懒惰的量词,即.*? 在捕捉expression式中 这将匹配最less的字符,直到下一个报价。