【发布时间】:2015-01-22 16:57:20
【问题描述】:
TL;DR 我应该从 www.domain.tld 重定向到 domain.tld 还是反之亦然?
我正在运行一个处理多个域的 CMS。到目前为止,CMS 负责将每个域的 www.domain.tld 重定向到 domain.tld 或反之亦然,但出于某些原因,我决定让 mod_rewrite 将来处理它:
- 性能:无需启动 CMS 即可提供 http 重定向
- 一致性:出于“历史原因”,一些域在一个方向上进行重定向,而另一些在另一个方向上进行。这不是一个真正的问题,只是让我很痒。
- 简单:不必单独担心每个域,我将为所有现有和未来(!)域提供解决方案,即使是那些不由 CMS 处理的域。
我知道如何实现它,但我不知道是否存在重定向的首选“方向”。我发现关于该主题的信息很少,但也许我只是搜索了错误的东西。我记得在某个地方读到过(我相信在 Google 网站管理员工具的某个页面上,但我现在找不到),只要你坚持下去,你选择哪一个并不重要。
就个人而言,我更喜欢 domain.tld 而不是 www.domain.tld,这就是我在浏览器中键入它的方式,这就是我说它的方式,也是我写它的方式,因为我认为“www”。是不必要的垃圾,看起来很糟糕,听起来很糟糕,花费时间(阅读、写作或口头交谈)、空间(在地址栏中或打印在纸上)和带宽(我知道,4 个字节,但那 4 个字节积累)。
但可以肯定的是,我去看看其他人是如何做到的,所有大型“互联网公司”(谷歌、Facebook、雅虎、eBay、亚马逊)以及苹果和微软都重定向到 www.domain.tld。迎合更多技术受众的网站被拆分:icann.org 和 w3.org 重定向到 www 版本,而 jquery、github、stackoverflow 重定向到非 www 版本。事实上,堆栈溢出对“no-www”标签的描述是这样的:
消除使用 www 作为 URL 前缀的过程,例如将用户从 http://www.example/ 重定向到 http://example/。 www 被许多人认为是一种死的和不必要的做法。
那么,除了我已经提到的去掉“www.”的那些之外,还有什么好的理由更喜欢其中一个吗?还是只是个人喜好问题而我的发现只是一个奇怪的巧合?
附带问题
不是我当前问题的一部分,但我注意到一些有趣的事情,我很好奇:如果涉及 https,我检查的大多数网站都会这样处理:
http://domain.tld -(301)-> https://domain.tld -(301)-> https://www.domain.tld
但是,Paypal 仅将 301 用于第二个重定向,将 302 用于第一个重定向,而 Apple (iCloud) 仅使用一个重定向:
http://icloud.com -(301)-> https://www.icloud.com
谁能想到以这种方式或其他方式这样做的原因?
【问题讨论】:
标签: http web http-redirect no-www