我已将旧网站移至新域名但谷歌仍在显示我之前的链接 我制作了一个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出现。
你可以建议我如何使用适当的正则表达式来完成这项工作吗?
答案 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
指令自动保留/
之后的任何内容。