【发布时间】:2018-01-29 20:19:58
【问题描述】:
我的主机自动为我们所有托管的网站设置子域。这样zzz-thewebsite.myhosting.com 就是与www.thewebsite.com 相同的文件...
不幸的是,不知何故,谷歌已经索引了子域,现在我可能有重复的内容。
我想从索引中删除子域。我不确定最好的方法。
我在想一个将zzz-thewebsite.myhosting.com 重定向到www.thewebsite.com 的.htaccess 文件可能会成功。当然,还涉及到子文件夹。
有没有一个优雅的解决方案?我想 robots.txt 也可以这样做,但这将在 zzz-thewebsite.myhosting.com 和 www.thewebsite.com “站点”中,因为它们是主机上的同一个物理文件夹。
谢谢。
Ben 下面的回答在非 https 网站上对我很有用,但不适用于 https 网站。我使用的是这个:
#attempt to redirect subdomain
RewriteCond %{HTTP_HOST} ^thewebsite-zzz.myhosting.com$ [NC]
RewriteRule ^(.*)$ https://www.thewebsite.com%{REQUEST_URI} [R=301,NC,L,QSA]
#https only
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
#www only
RewriteCond %{HTTP_HOST} ^thewebsite.com [NC]
RewriteRule ^(.*)$ https://www.thewebsite.com/$1 [L,R=301,NC]
【问题讨论】:
-
这在很大程度上取决于如何子域的设置。我相信让 Google 将它们识别为同一个站点的唯一方法是将子域设置为永久重定向到首选域。
-
但是,在 HTML 中添加 canonical links 也可能有效,它指向正确域上的完整正确 url,而不仅仅是指向主页。这适用于重复的页面,如果不是重复的网站。
标签: .htaccess redirect subdomain