重定向与虚拟主机,但robots.txt

问题描述:

我有一个复杂的搜索引擎优化问题,其中谷歌已从我的名称服务器索引数千页。我需要重定向每个请求301除了robots.txt重定向与虚拟主机,但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是我想要重定向到的网站

+0

为什么你的名字服务器上安装了Apache?它让我的灵魂受到伤害。 – InternetSeriousBusiness 2012-08-13 22:56:53

+0

,因为当我用phusion乘客在rails应用程序上安装ruby时,我没有考虑到当您将文档根目录从cpanel的默认设置中移开时,它会“随机”选择一个域(它实际上是第一个域)是我的域名服务器,并且当我的域名服务器启动我的网站时,谷歌索引了超过3000页的重复内容。现在即时修复那个错误 – Tallboy 2012-08-14 00:42:12

有没有人看到我的错误? 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] 

这是因为URI的RewriteRule是针对虚拟主机/服务器配置时,拥有国内领先的斜线匹配,所以你不需要在目标中的主机名之后进行斜杠。

+0

那工作,除了现在它重定向一切为'http:// example.com //任意页'与两个// – Tallboy 2012-08-13 17:45:21

+0

@Tallboy请参阅编辑 – 2012-08-13 17:50:04

+0

谢谢!非常有帮助,非常感谢 – Tallboy 2012-08-13 17:53:05