将具有哈希码的URL重定向到IIS10中具有相同哈希码的另一个URL

时间:2019-11-14 11:26:19

标签: web-config iis-10 windows-server-2019

我需要在IIS10(Windows Server 2019)中将具有变量哈希码的URL重定向到具有该相同哈希码的另一个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>

1 个答案:

答案 0 :(得分:0)

首先,{HTTP_HOST}与网址中的https部分不匹配。因此,您应该使用^www.example.com$而不是^(https:\/\/www\.)example.com$

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

详细信息,您可以参考以下网址重写规则:

    <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>