对于HTTP和HTTPS URL,我需要将非www URL重定向到www URL。我在web.config
中尝试了以下规则。
<rule name="Redirect to WWW" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^example.com$" />
</conditions>
<action type="Redirect" url="http://www.example.com/{R:0}" redirectType="Permanent" />
</rule>
<rule name="Redirect to WWW https" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTPS}" pattern="^example.com$" />
</conditions>
<action type="Redirect" url="https://www.example.com/{R:0}" redirectType="Permanent" />
</rule>
对于非SSL URL,它可以完美工作,但对于SSL,它会从https://example.com
重定向到http://www.example.com
。
7条答案
按热度按时间mxg2im7a1#
对于
Match Any
和Match All
两种情况下都适用的安全规则,您可以使用重写Map解决方案。这是一个非常好的解决方案,唯一的缺点是设置它非常简单,因为您需要在创建规则之前创建一个重写Map。换句话说,如果您选择使用此方法作为处理协议的唯一方法,您将是安全的。您可以创建名为MapProtocol的重写Map,也可以在任何规则操作中使用
{MapProtocol:{HTTPS}}
作为协议。Reference
wdebmtf22#
其他答案在这里是不必要的长,这里的规则我使用(只是复制和粘贴):
这将重定向到www版本,同时保留HTTP和HTTPS协议
希望这对你有帮助。
2cmtqfgy3#
自2018年起,请考虑每次使用https(SSL)!
因此,我同时使用重定向到www和https。
更多信息,请访问:https://forums.realmacsoftware.com/t/effective-july-2018-google-s-chrome-browser-will-mark-non-https-sites-as-not-secure/18597
6kkfgxo04#
我知道这是一个旧的职位,但它没有完全回答.我结束了扩展Satpals answer
第一个规则捕获http + www,第二个规则捕获非www
由于某种原因,我不能在第一个规则中使用MapProtocol,但它可以与直接写入URL的https一起工作。
2ul0zpep5#
"这对我来说很好“
8mmmxcuj6#
这篇文章基本上是为那些谁需要重定向非www到www网址在windows主机。
在
web.config
文件中编写如下代码:在上面的代码中,请注意使用了两个规则,一个用于HTTP,另一个用于HTTPS。为了避免在同一个规则中HTTP和HTTPS冲突,这里使用了两个单独的模式。
希望对你们有用...!!
bmp9r5qi7#
请遵循以下步骤
1.登录到您的网站的cPanel
1.单击托管设置
1.选择您的首选域
www.example.com