2

我遇到了一个复杂的 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 是我要重定向到的站点

4

1 回答 1

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]

这是因为在 vhost/server 配置中匹配的 URIRewriteRule有一个前导斜杠,因此您不需要在目标中的主机名后面加上斜杠。

于 2012-08-13T17:39:54.597 回答