【问题标题】:redirecting with virtual hosts except robots.txt使用除 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 多页重复内容。现在我正在修复那个错误

标签: apache .htaccess redirect virtualhost


【解决方案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 并带有两个 //
  • 谢谢!非常有帮助,非常感谢
猜你喜欢
  • 2019-04-16
  • 2013-02-05
  • 2011-08-23
  • 2023-04-10
  • 2012-02-06
  • 2017-09-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多