URL重写重定向

时间:2018-04-12 17:27:30

标签: iis url-rewriting query-string iis-8

我还不明白写URL Rewrite方面。但需要帮助,因为我不知道我做错了什么。

我的目标是用户点击链接

www.example.com/NM/Registration?ctl=PasswordReset&resetToken=db08aa18-0810-417d-a633-131635bf9e8e

我希望将用户重定向到

www.example.com/Registration?ctl=PasswordReset&resetToken=db08aa18-0810-417d-a633-131635bf9e8e

如您所见,我想在没有 NM 的情况下重定向到根域的URL路径。

我在我的web.config文件中有这个,但似乎它不会正确重定向:

<rewrite>
  <rules>

      <rule name="Query String Rewrite">
          <match url="/NM/Registration" />
          <conditions>
                    <add input="{QUERY_STRING}" pattern="ctl=([a-z]+)" />
                    <add input="##{C:1}##_{QUERY_STRING}" pattern="##([^#]+)##_.*resetToken=([_0-9a-z-]+)" />
          </conditions>
          <action type="Redirect" url="http://www.example.com/Registration?ctl={C:1}&amp;resetToken={C:2}" appendQueryString="false" />
      </rule>

  </rules>
</rewrite>

1 个答案:

答案 0 :(得分:0)

我想出了我的答案。我最终改写了规则,所以希望这将有助于将来的任何人。

<rewrite>
<rules>  

      <rule name="Query String For Redirect">
          <match url="NM/Registration" />
          <conditions>
              <add input="{QUERY_STRING}" pattern="ctl=([a-z]+)&amp;resetToken=([_0-9a-z-]+)" />
          </conditions>
          <action type="Redirect" url="Registration?ctl={C:1}&amp;resetToken={C:2}" appendQueryString="false" />
      </rule>                    

</rules>
</rewrite>