![www.example.com 与 example.com](https://linux22.com/image/487732/www.example.com%20%E4%B8%8E%20example.com%20.png)
可能重复:
使用 www 还是不使用 www
考虑一个网站www.example.com
当在 Firefox 的地址栏中手动输入 URL 时example.com
,浏览器会自动重定向到www.example.com
。
使用 Internet Explorer,浏览器会重定向到默认搜索引擎,搜索词为example.com
。
codinghorror.com
类似或所有网站example.net
都会自动更改为重定向到其www
地址。
网络服务器上是否有设置可以改变这种行为?
这里还有其他问题吗?
答案1
通常,您会设置您的网络服务器,以便一个域名是规范的,并且您想要的任何别名都会重定向到该域名。如果指定哪个网络服务器,有人会很快告诉您如何操作 :)
使用 Apache,您可以做这样的事情:
<VirtualHost *>
#our canonical name
ServerName www.example.com
#other domains we want to respond to
ServerAlias example.com
RewriteEngine on
#if host is specified and not our canonical one, redirect
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/(.*) http://www.example.com/$1 [L,R=permanent]
...
</VirtualHost>
请注意,您仍然必须为所有别名域定义 A 或 CNAME 记录。
答案2
我建议将其中一个名称设置为访问您网站的规范且唯一的方式,另一个名称则用于重定向到该网站。不要使用 CNAME 或 JavaScript 重定向。请使用 HTTP 重定向。
我个人会从 www.example.com 重定向到 example.com,因为我反对 www。原因很简单:您使用的是 Web 浏览器,并且 http 已经表明您正在尝试访问该位置的网站,无需添加更多冗余信息。此外,hr.example.com 可能是 HR 的网站,这是否意味着贵公司有一个 www 部门?如果不是,那么应该是 www.hr.example.com,这看起来很糟糕。
答案3
查看上面的 URL。stackoverflow.com 不会转到 www.stackoverflow.com。它们是两个单独的 DNS 条目。查看您的 DNS 主机配置并尝试为 xyz.com 添加 A 记录,这应该可以解决问题。
答案4
请参阅 Stack Overflow 上关于此问题的问题:我是否应该将我的网站默认为 www.foo?