如何在IIS托管网站上强制执行www?

时间:2016-02-15 23:00:31

标签: iis url-rewrite-module

我的网站托管在IIS上,我需要强制浏览器使用www前缀。

我已经安装了Url Rewrite Module,我的规则是:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
    <rewrite>
        <rules>
              <rule name="Add WWW" stopProcessing="true">
              <match url="^(.*)$" />
              <conditions>
                 <add input="{HTTP_HOST}" pattern="^(?!www\.)(.*)$" />
              </conditions>
              <action type="Redirect" url="http://www.{C:0}{PATH_INFO}" redirectType="Permanent" />
           </rule>
        </rules>
    </rewrite>
</system.webServer>

来自IIS7 URL Rewrite - Add "www" prefix

但我无法弄清楚如何维护ssl

1 个答案:

答案 0 :(得分:1)

您需要在输入中捕获协议:

<rule name="Enforce WWW" stopProcessing="true">
  <match url=".*" />
  <conditions>
    <add input="{CACHE_URL}" pattern="^(.+)://(?!www)(.*)" />
  </conditions>
  <action type="Redirect" url="{C:1}://www.{C:2}" redirectType="Permanent" />
</rule>

{C:1}将包含协议,{C:2}将包含您的域名和其他内容。

<子>(source