我正在尝试为IIS实现两个规则,将非WWW重定向到WWW,将http重定向到https.
http://zzz.com -> https://www.zzz.com
http://www.zzz.com -> https://www.zzz.com
https://zzz.com -> https://www.zzz.com
Run Code Online (Sandbox Code Playgroud)
所以,我把它添加到我的web.config:
<system.webServer>
<rewrite xdt:Transform="Insert">
<rules>
<rule name="Force WWW" enabled="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^[^www]" />
</conditions>
<action type="Redirect" url="https://www.zzz.com/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
<rule name="Force HTTPS" enabled="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://www.zzz.com/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
Run Code Online (Sandbox Code Playgroud)
我的问题:
有没有办法将这个结合在一个规则中?
Car*_*res 26
是的,您可以将它们合并为一个并使用logicalGrouping作为条件,并将其设置为Any,它等同于"OR".例如:
<rule name="Force WWW and SSL" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_HOST}" pattern="^[^www]" />
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://www.zzz.com/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10284 次 |
最近记录: |