http://domain 与 http://www.domain 不同,但代码相同

http://domain 与 http://www.domain 不同,但代码相同

我在 hostgator 上使用 wordpress,由于某种原因,根域名指向与www子域名明显不同的代码。

也就是说:

http://www.domain.com

生产不同于html

http://domain.com

然而它们似乎都指向(虽然我不清楚如何在 cPanel 中检查这一点):

/home/me/public_html/domain.com

我寻找并销毁了所有我能找到的缓存。

我将其保留了 12 个小时,以防它是主机的缓存 - 但如果是的话,则尚未刷新任何内容。

它位于 hostgator 上的共享帐户上。

对于测试/检查有什么想法吗?

答案1

“www” 是子域名它可能(也可能不)指向您的(二级)域名指向的同一地址。我似乎记得可以从 cpanel 内部配置重定向,因此您需要做的是将 www.domain.tld 重定向到 domain.tld(反之亦然,具体取决于哪一个显示“正确的”html)。更好的是,您可能希望阅读一些有关 DNS 的内容,并花一些时间了解不同资源记录(RR),尤其是 A 记录。

如果您运行的是 Linux(或者您有 cygwin),您可以随时安装 dnsutils 包,它提供了 dig,而 dig 又是一个非常好的命令行实用程序,可帮助您检索任何所需域的任何 RR。或者您可以使用此处的众多在线 dig 工具之一,例如 kloth.net 的。

答案2

事实证明,问题出在 中的默认设置重写规则上 .htaccess。无论如何,我都应该在 中设置重写.htaccess

感谢您的精彩评论!?flush=me是一个很好的建议。

为了确保我删除了令人反感的垃圾,添加了重写规则以永久地从非 www 重定向到 www:

# Redirect to www
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

附言:我以前从来不理解关于是否使用 www 的规则,只是习惯于懒惰地同时设置两者。但最近几次,我因为创建了两个不同的会话以及由此造成的混乱而大吃一惊。我现在理解关于只使用 1 个基数 URL 的规则。是否使用 www:只能选择一个。

相关内容