2

我的正则表达式有问题,有人可以帮忙吗?

示例 URL: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>
4

1 回答 1

2

你没有解释你遇到了什么问题,但这里有一些事情要看:

<match url="^.*(/$|$)"/>

这匹配任何不包含换行符的字符串。这可能不是你想要的。它可能会导致无限的重定向循环,因为您要重写的 URL 也匹配此正则表达式。(IIS 是否允许多次匹配相同的重写规则?)

此外,这是一个较小的点,但在此:

?c={C:1}s={C:2}

看起来&您的查询字符串参数之间缺少一个&符号。

于 2012-01-28T19:49:02.297 回答