我已经创建了一个网站 www.abc.com,如果用户只输入 abc.com,而不是(没有 www.)他可以访问我的网站,我就已经实现了这一部分。现在我希望当用户输入 abc.com 时,网址会自动更改为 www.abc.com 请帮助我
提前致谢
在web.config<system.webServer>
部分中,添加以下内容:
通配符
<rewrite>
<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>
</rewrite>
欲了解更多信息
另一种选择是转到您的域服务器并在那里添加重定向。保持您的 Web 服务器不变。
使用此代码可能会对您有所帮助-
使用 .htaccess 重定向
如果您的站点托管在 Apache 上,您可以从 WWW 重定向到非 WWW,反之亦然,只需在 .htaccess 文件中添加几行即可。
将 WWW 重定向到非 WWW:
重写引擎开启
RewriteCond %{HTTP_HOST} !^(yourdomain.com)?$
RewriteRule ^(.*)$ http://yourdomain.com/ $1 [R=301,L]
将非 WWW 重定向到 WWW:
重写引擎开启
RewriteCond %{HTTP_HOST} !^(www.yourdomain.com)?$
重写规则 ^(.*)$ http://www.yourdomain.com/ $1 [R=301,L]
或者
使用 IIS7 重定向
使用 IIS7,实际上有两种方法可以做到这一点。为此需要 URL 重写扩展。
第一种方法包括在相关站点的 web.config 文件的 system.webServer 部分中添加以下内容作为第一条规则。
将 WWW 重定向到非 WWW:
<rewrite>
<rules>
<rule name="www to non www"" enabled="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" negate="true" pattern="^www\.yourdomain\.com$" />
</conditions>
<action type="Redirect" url=http://www\.yourdomain\.com/{R:1}” redirectType="Permanent" />
</rule>
将非 WWW 重定向到 WWW:
<rewrite>
<rules>
<rule name="non www to www" enabled="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" negate="true" pattern="^www\.youdomain\.com$" />
</conditions>
<action type="Redirect" url="http://www\.yourdomain.\com/{R:0}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>