IIS重写规则 - 如何操作{HTTP_HOST}字符串

时间:2016-02-05 01:34:35

标签: iis url-rewriting rewrite url-redirection

我刚开始首次使用iis重写规则而且我正在努力实现我想象的简单规则。

基本上,我希望使用此规则

   <rule name="redirect">
      <match url="^(one$|two$|three$)" />
      <action type="Redirect" url="{HTTP_HOST}{REQUEST_URI}" /> 
    </rule>

但是重定向{HTTP_HOST}字符串减去扩展名[.co.uk / .com等]。

e.g。

bigsite.co.uk/one

将重定向到:

bigsite.co.uk/bigsite/one

如何解决这个问题 - 因为我只能找到Tolower / UrlEncode / UrlDecode字符串操纵器?

[最终,我还想使用重写规则来隐藏重定向已经发生的事实,即重定向后地址将保持为bigsite.co.uk/one。 ]

1 个答案:

答案 0 :(得分:0)

好吧,我最终想出了这个(希望它可以帮助某人):

    <rule name="redirect">
      <match url="^(one$|two$|three$)" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^(www.)?(.*).co.uk" />
      </conditions>
      <action type="Redirect" url="{C:2}{REQUEST_URI}" />
    </rule>

...不确定是否有更好的方法,但它对我来说非常有效 - 感谢所有,PP