ASP.NET MVC Url 重写 - WWW 重定向

问题描述 投票:0回答:1

我正在尝试在 web.config 中添加 iis url 重写规则。规则应该如下。

如果url不包含www,则重定向到www 但是,如果主机包含“svha-prd-as-careservices-01”,则不要重定向到 www

下面是我的代码,www 重定向正在工作,但是,检查“svha-prd-as-careservices-01”的否定条件不起作用。我错过了什么?

<rule name="Redirect Non-WWW to WWW" enabled="true" stopProcessing="true">
                  <match url=".*" />
                  <conditions>
                    <add input="{HTTP_HOST}" pattern="^(?!www\.)(.*)" />
                    <add input="{REQUEST_HOST}" pattern="^(.*)svha-prd-as-careservices-01(.*)" negate="true" />
                  </conditions>
                  <action type="Redirect" url="https://www.{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="true" />
asp.net-mvc azure iis url-rewriting web-config
1个回答
0
投票
<rule name="Redirect Non-WWW to WWW" enabled="true" stopProcessing="true">
  <match url=".*" />
  <conditions logicalGrouping="MatchAny">
    <add input="{HTTP_HOST}" pattern="^(?!www\.)(.*)" />
    <add input="{REQUEST_HOST}" pattern="^(.*)svha-prd-as-careservices-01(.*)" negate="true" />
  </conditions>
  <action type="Redirect" url="https://www.{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="true" />
</rule>

默认情况下,

logicalGrouping
设置为
MatchAll
,它充当所有条件之间的逻辑 AND。所以你需要改变它。

© www.soinside.com 2019 - 2024. All rights reserved.