IIS URL将https非www重写为https-www [英] IIS URLRewrite https non-www to https-www
本文介绍了IIS URL将https非www重写为https-www的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
配置重写规则非常困难.
Having a tough time configuring rewrite rules.
我基本上想要:
- 非www要求使用www重定向到一个
- 非https请求应通过https重定向到一个请求
所需的重定向:
Requested Url Redirected To
http://example.com https://www.example.com/
http://www.example.com https://www.example.com/
https://example.com https://www.example.com/
https://www.example.com https://www.example.com/
重写配置1:
<rules>
<rule name="Redirect HTTP to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://www.example.com/{R:0}" />
<!--redirect to https -->
</rule>
<rule name="Add WWW prefix" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^example.com$" />
</conditions>
<action type="Redirect" url="https://www.example.com/" />
</rule>
</rules>
重写配置2 :(来自 IIS重定向非-www到www以及http到https ).
Rewrite configuration 2: (from IIS Redirect non-www to www AND http to https).
<rules>
<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.example.com/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
问题主要出在 https://example.com -定位不正确
The issue is mainly with https://example.com - it's not directing properly
推荐答案
尝试一下:
<rules>
<rule name="Redirect example.com to www" patternSyntax="ECMAScript" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^example.com$" />
</conditions>
<action type="Redirect" url="https://www.example.com/{R:0}" redirectType="Permanent" />
</rule>
<rule name="Redirect to example.com https" enabled="true" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" negate="false" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />
</rule>
</rules>
这篇关于IIS URL将https非www重写为https-www的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文