在IIS上重定向301。将非www重定向到www

时间:2013-10-04 11:06:44

标签: iis-6

我应该在IIS 6上将我的网站从非www重定向到www。例如,如果我在网址中输入domain.com,它必须重定向到www.domain.com进行SEO优化。

我按照视频“http://www.youtube.com/watch?v=PYxabNrIMQ4”创建了重写规则。我按下面的说法做了

<system.webServer>
<rewrite>
<rules>
<rule name="Redirect to www" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions>
<add input="{HTTP_HOST}" pattern="mydomain.com" />
</conditions>
<action type="Redirect" url="http://www.mydomain.com/{R:0}" />
</rule>
</rules>
</rewrite>

但它没有按预期工作。帮我找出解决方案。

注意: 我的Visual Studio显示警告,例如“元素'system.webServer'具有无效的子元素'重写'”。

我相信它没有任何问题。

2 个答案:

答案 0 :(得分:2)

根据this video,您可以使用IIS管理器UI重定向。确保您拥有非WWW版本的第二个站点,其位置与您站点的WWW版本相同;在创建它时,请务必为“主机标题”字段指定非WWW域。

创建后,右键单击该站点并转到“属性”。如果您愿意,可以禁用日志记录(可能不需要,因为您将重定向),然后转到“主目录”选项卡。现在通过单击相应的“删除”按钮删除应用程序,因为它不用于重定向。接下来,选择“重定向到URL”单选按钮,确保选中“上面输入的确切URL”和“此资源的永久重定向”。

最后,在“重定向到”字段中,输入您的完整WWW网址,然后输入$ S $ Q (即http://www.example.com $ S $ Q) - $ S $ Q捕获客户端可能发送的任何路径和查询字符串非常重要,因此如果用户转到http://example.com/foo/bar.html,它们将被适当地重定向到http://www.example.com/foo/bar.html,而不仅仅是http://www.example.com/。单击“应用”和“确定”,然后设置重定向!

答案 1 :(得分:-1)

这有效吗?记得在根web.config

中添加
        <rules>
            <rule name="Redirect domain.com to www" patternSyntax="Wildcard" stopProcessing="true">
                <match url="*" />
                <conditions>
                    <add input="{HTTP_HOST}" pattern="domain.com" />
                </conditions>
                <action type="Redirect" url="http://www.domain.com/{R:0}" />
            </rule>
        </rules>