【发布时间】:2019-04-03 13:30:03
【问题描述】:
我遇到了一个不寻常的问题,即 Google 正在索引我网站中不存在的子域。看起来这些“子域”是由诸如w.ww. 之类的拼写错误创建的。甚至有一些 http://abc.www.example.com 被编入索引的实例。
我主要关心的是 SERPS 中的内容重复,因为这些不存在/僵尸子域中有几个已被 Google 索引。我希望这些子域要么退出 SERPS,要么被重定向到安全的 www。网站的版本。
我在 web 开发方面经验丰富,但服务器配置和.htaccess/mod 重写规则并不是我最大的优势。
目前有一个重写规则来强制整个站点使用 https - 是否可以对其进行修改以强制僵尸子域重定向到 https://www.?如果可能,我能否确保它不会影响网站的真实子域?
当前.htaccess 重定向:
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.example.com/$1 [NC,R=301,L]
【问题讨论】:
-
这一点也不奇怪。每当请求未定义的主机名时,您的 http 服务器将提供默认主机。这是正常且记录的行为。如果您愿意,您可以阻止它,但这是您必须采取的明确步骤。
-
感谢您的回答。我了解在这种情况下服务器会提供默认主机,但我从未体验过 Google 将此类请求编入索引。
-
Google 将所有页面接受到其索引中它找到的引用并且不阻止索引。您可以尝试找出这些链接是在哪里生成的,很可能是一些随机链接列表(点击劫持、错字劫持......),但最终这并不重要,因为您无法阻止它。相反,您可以阻止谷歌索引页面,只需定义您的
robots.txt文件,这样机器人就不会索引那些不存在的页面。 -
同意!这不是与网站本身相关联的东西,所以如果无法预防,我不会浪费时间寻找原因。我已经为所有页面添加了规范标签,并将单独的重写条件添加到 .htaccess 以将页面 301 添加到主要页面。我会看看在 robots.txt 级别可以做什么,但由于这些僵尸子域实际上并不作为子域存在,我不确定在根目录中编辑 robots.txt 是否是最好的方法。
-
从技术角度来看,这些请求以有效和现有主机为目标,因为它们会从您的站点收到答复。因此,如果您愿意,您可以防止这种情况发生。不是通过重定向,而是通过阻止,尽管重定向它们可能对搜索引擎具有相同的效果,因为它们不遵循此类外部重定向。关于
robots.txt文件:您还想在哪里控制搜索机器人?
标签: apache .htaccess redirect mod-rewrite http-status-code-301