我最近发现,如果网页的一行中有多个URL(有资格重写),IIS / ARR只会重写该行的第一个匹配,而忽略其余的。所以我想问两个问题:
答案 0 :(得分:1)
我的解决方案是确保Regex不会匹配引号之外的任何内容,即阻止它变得贪婪。
使用GUI,匹配模式以([^"]*)
而不是(.*)
结束,当保存在Web.config中时,它会转义为([^"]*)
我的Web.config中的行如下所示:
<match filterByTags="None" pattern="http://your.domain/~/media([^"]*)" />
答案 1 :(得分:0)
因此,我认为可以安全地假设您指的是在HTML响应中更改URL的出站重写规则。
有用的信息:
如果您未指定<match>
,则在filterByTags
元素中,匹配模式将应用于整个回复内容,无论行和出现次数如何。请注意,对整个响应内容的正则表达式模式的评估是CPU密集型操作,可能会影响Web应用程序的性能。
听起来你的规则没有正确配置。
更多信息: