【问题标题】:IIS Host Headers and non WWW to WWWIIS 主机头和非 WWW 到 WWW
【发布时间】:2011-12-09 02:25:37
【问题描述】:

我知道有很多关于如何将非 www 重定向到 www 站点的示例,但我没有使用任何 rewrite utils/ISAPI。

在我的 Windows 2008R2 机器上,我在 IIS 中设置了多个站点。我为 www 和非 www 版本设置了主机头。前几个站点运行良好。如果您尝试访问非 www 站点,您将被自动重定向到 www 版本。

据我回忆,除了添加适当的主机头之外,我不需要做任何特别的事情 - 没有搞乱重写/ISAPI。

为了使它正常工作,我在服务器管理器方面缺少什么?

【问题讨论】:

    标签: iis-7 windows-server-2008 hostheaders hostheader


    【解决方案1】:

    我想有两种方法。一种是通过IIS管理器创建重写规则。

    另一种方法是设置 web.config 的 system.webserver 部分,如下所示:

      <system.webServer>
    
        <rewrite>
          <rules>
            <clear/>
            <rule name="Redirect Non WWW to WWW" enabled="true" stopProcessing="true">
              <match url="(.*)" />
              <conditions>
                <add input="{HTTP_HOST}" negate="true" pattern="^www\.([.a-zA-Z0-9]+)$" />
              </conditions>
              <action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" appendQueryString="true" redirectType="Permanent" />
            </rule>
    
            <!--<rule name="Default Document" stopProcessing="false">
              <match url="(.*)default.aspx"/>
              <action type="Redirect" url="{R:1}" redirectType="Permanent"/>
            </rule>-->
    
          </rules>
        </rewrite>
    
        <validation validateIntegratedModeConfiguration="false"/>
        <modules runAllManagedModulesForAllRequests="true"/>
    
        <httpErrors errorMode="Custom"/>
    
      </system.webServer>
    

    【讨论】:

    • 谢谢,这就是我所缺少的。我忘记添加了。
    猜你喜欢
    • 2011-12-18
    • 2019-04-19
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 2019-01-28
    • 1970-01-01
    • 2021-12-03
    • 2014-12-16
    相关资源
    最近更新 更多