在 IIS10 中使用哈希码将 url 重定向到另一个具有相同哈希码的

Redirect url with a hashcode to another with same hashcode in IIS10

我需要将具有 变量 哈希码的 url 重定向到另一个具有 相同哈希码 的 url在 IIS10 中(Windows 服务器 2019)。

示例:

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>

首先,{HTTP_HOST} 与 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>