301通过htaccess重定向

时间:2012-05-09 05:25:56

标签: php

我已将旧网站移至新域名但谷歌仍在显示我之前的链接 我制作了一个htaccess文件并进行了301重定向。以下是我的htaccess代码:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^old.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.old.com$
RewriteRule (.*)$ http://new.com/$1 [R=301,L]

它正在将旧网址重定向到新网址,但它并没有逐页进行。意味着如果我要访问www.old.com/about.php,那么它会将我重定向到www.new.com/但我想要www.new.com/about.php出现。

你可以建议我如何使用适当的正则表达式来完成这项工作吗?

2 个答案:

答案 0 :(得分:1)

这将维护所有内容 - 查询字符串和请求路径:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^old.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.old.com$
RewriteRule ^(.*)$ http://new.com/$1 [R=301,L,QSA]

答案 1 :(得分:1)

根本不需要使用mod_rewrite。只需使用:

<VirtualHost *:80>
    ServerName old.com
    ServerAlias www.old.com
    Redirect permanent / http://new.com/
</VirtualHost>

Redirect指令自动保留/之后的任何内容。