我需要强制每个请求https://www.mysite.com(始终使用https和www)
该网站托管在GoDaddy中,我需要通过IIS7 URL重写模块进行。
我已经能够使用以下代码进行HTTPS重定向:
<system.webServer>
<rewrite>
<rules>
<rule name="Canonical Host Name" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^mysite\.com$" />
</conditions>
<action type="Redirect" url="https://www.mysite.com/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
测试用例
当我在浏览器中输入www.mysite.com时,我觉得条件不满意,因此没有重定向,页面用作HTTP而不是HTTPS。
我想我只需要修改条件模式,但我几乎没有正则表达式知识,我需要这个。
谢谢!
答案 0 :(得分:4)
mysite.com
精确匹配:
<conditions>
<add input="{HTTP_HOST}" pattern="^mysite\.com$" />
</conditions>
注意模式:^mysite\.com$
。这用英语表示,传入的网址必须以mysite.com
开头,并以mysite.com
结尾,这意味着www.mysite.com
将不匹配。
请尝试使用此模式,这样可以选择www.
:
<conditions>
<add input="{HTTP_HOST}" pattern="^(www\.)?mysite\.com$" />
</conditions>
快乐编程!