301重定向到同名文件,同一服务器,但域名不同

时间:2012-06-01 18:00:58

标签: php html .htaccess

我最近对一个网站进行了大修,我们切换到该网站的新主域名。旧域仍处于活动状态,需要重定向到新域名。

该网站仍然具有相同的根文件夹,因此有一些文件已更新,但名称相同(即index.php,about.php,contact.php)。

我通过手动重定向手动将所有不再存在的文件(通过.htaccess)重定向到新文件:

redirect 301 /old_file.php http://www.new_domain.org/new_file.php

但是,这不适用于具有相同名称的文件,例如“index.php”。我仍然可以通过旧域名来呼叫该网站。如何正确引用这些文件,以便我没有谷歌的重复处罚?

我尝试过这个并没有用:

#Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.old_domain.org$[OR]
RewriteCond %{HTTP_HOST} ^old_domain.org$
RewriteRule ^(.*)$ http://www.new_domain.org/$1 [R=301,L]

谢谢

2 个答案:

答案 0 :(得分:6)

  • 清除浏览器缓存并重新启动
  • 确保通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

代码

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?old_domain\.org$ [NC]
RewriteRule ^ http://www.new_domain.org%{REQUEST_URI} [R=301,L]

答案 1 :(得分:1)