我的正则表达式有问题,有人可以帮忙吗?
示例网址:http://rhine.ga.domain.com
<rule name="CityStateRule">
<match url="^.*(/$|$)"/>
<conditions>
<add input="{HTTP_HOST}" pattern="^(^[A-Za-z0-9_-]+)\.(^(?:a[klrz]|c[aot]|d[ce]|fl|ga|hi|i[adln]|k[sy]|la|m[adeinost]|n[cdehjmvy]|o[hkr]|pa|ri|s[cd]|t[nx]|ut|v[at]|w[aivy])+)\.domain\.com$"/>
</conditions>
<action type="Rewrite" url="/LocationMatch.html?c={C:1}s={C:2}"/>
</rule>
答案 0 :(得分:2)
您没有解释您遇到的问题,但有以下几点需要注意:
<match url="^.*(/$|$)"/>
匹配任何不包含换行符的字符串。这可能不是你想要的。它可能会导致无限重定向循环,因为您正在重写到的URL也将匹配此正则表达式。 (IIS是否允许多次匹配相同的重写规则?)
此外,这是一个较小的一点,但在此:
?c={C:1}s={C:2}
您的查询字符串参数之间似乎缺少&符号&
。