0

我需要将带有可变哈希码的 url 重定向到IIS10(Windows Server 2019)中具有相同哈希码的另一个 url 。

例子:

https://www.example.com/hello/sd54effg1g5s11d5111dwds21fds2f1ffd

需要重定向到:

https://subdomain.example.com/hello/sd54effg1g5s11d5111dwds21fds2f1ffd

目前我在 web.config 中有这个规则:

        <rule name="rulename" stopProcessing="true">

         <match url="^hello/[a-zA-Z0-9]+$" />

         <conditions>
          <add input="{HTTP_HOST}" pattern="^(https:\/\/www\.)example.com$" />
         </conditions>        

        <action type="Redirect" url="https://subdomain.{HTTP_HOST}/{R:1}"  />

       </rule>
4

1 回答 1

0

首先,{HTTP_HOST}is 不会匹配 url 中的 https 部分。所以你应该使用^www.example.com$而不是^(https:\/\/www\.)example.com$.

此外,您应该使用https://subdomain.example.com/{R:1}而不是https://subdomain.{HTTP_HOST}/{R:1}来满足您的要求。

详情,您可以参考下面的 url 重写规则:

    <rule name="rulename" stopProcessing="true">

     <match url="^hello/[a-zA-Z0-9]+$" />

     <conditions>
      <add input="{HTTP_HOST}" pattern="^www.example.com$" />
     </conditions>        

    <action type="Redirect" url="https://subdomain.example.com/{R:0}"  />

   </rule>
于 2019-11-15T05:58:06.473 回答