我应该在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'具有无效的子元素'重写'”。
我相信它没有任何问题。
答案 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>