使用除 robots.txt 之外的虚拟主机进行重定向
Posted
技术标签:
【中文标题】使用除 robots.txt 之外的虚拟主机进行重定向【英文标题】:redirecting with virtual hosts except robots.txt 【发布时间】:2012-08-09 23:29:25 【问题描述】:我遇到了一个复杂的 seo 问题,谷歌已经从我的一个域名服务器中索引了数千个页面。我需要重定向每个请求 301 除了 robots.txt
这是我到目前为止所拥有的,但它不起作用。注释掉的部分是我最初放置的部分(有效),除了它不考虑 robots.txt。下面的两行是我的失败尝试
<VirtualHost xx.xx.xx.xx:80>
ServerName ns2.example.com
#RedirectMatch permanent /(.*) http://example.new/$1
RewriteCond %REQUEST_URI !^/robots\.txt [NC]
RewriteRule ^(.*)$ http://example.new/$1 [R=301,L]
</VirtualHost>
有人看到我的错误吗? example.new 是我要重定向到的网站
【问题讨论】:
为什么要在名称服务器上安装 Apache?它让我的灵魂受伤。 因为当我使用 phusion 乘客安装我的 ruby on rails 应用程序时,当您将文档根目录更改为远离 cpanel 的默认值时,我没有考虑到它“随机”选择一个域(它实际上是第一个一个文件),这恰好是我的域名服务器,当我的域名服务器开始访问我的网站时,谷歌索引了 3000 多页重复内容。现在我正在修复那个错误 【参考方案1】:有人看到我的错误吗? example.new 是我要重定向到的网站
对于初学者来说,您似乎需要打开重写引擎:
RewriteEngine On
这行得通,但现在它将所有内容重定向为
http://example.com//whatever-page
和两个//
这一行:
RewriteRule ^(.*)$ http://example.new/$1 [R=301,L]
需要删除/
:
RewriteRule ^(.*)$ http://example.new$1 [R=301,L]
这是因为 RewriteRule
匹配的 URI 在 vhost/server 配置中具有前导斜杠,因此您不需要在目标中的主机名后面加上斜杠。
【讨论】:
有效,但现在它将所有内容重定向为http://example.com//whatever-page
并带有两个 //
谢谢!非常有帮助,非常感谢以上是关于使用除 robots.txt 之外的虚拟主机进行重定向的主要内容,如果未能解决你的问题,请参考以下文章
Google 域的 YQL“重定向到 robots.txt 受限 URL”错误