0

我应该在 IIS 6 上将我的网站从非 www 重定向到 www。例如,如果我在 url 中输入 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' 具有无效的子元素 'rewrite'”。

我相信这不会造成任何问题。

4

2 回答 2

2

根据此视频,您可以使用 IIS 管理器 UI 进行重定向。确保您有第二个非 WWW 版本的站点,与您的站点的 WWW 版本具有相同的“位置”;创建它时,请务必为“Host Header”字段指定您的非 WWW 域。

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

最后,在“重定向到”字段中,输入完整的 WWW url ,后跟 $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/。单击“应用”和“确定”,您的重定向应该已设置!

于 2013-12-12T18:51:06.263 回答
-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>
于 2013-10-30T03:36:28.243 回答