301重定向通配符无法正常工作

时间:2016-02-19 06:06:32

标签: apache .htaccess redirect mod-rewrite

我的/var/www/html/.htaccess

中有301重定向
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com [R=301,L]

它会将olddomain.com重定向到newdomain.com,但地址栏中的地址仍为olddomain.com

第二个问题是如果我这样做:

olddomain.com/helloolddomain.com/page/2/comment,它不会重定向到www.newdomain.com

我应该怎么做才能将所有链接重定向到www.newdomain.com

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

试试这个

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^OLDDOMAIN\.com$ [NC]
RewriteRule ^(.*)$ http://NEWDOMAIN.com [R=301,L]

答案 1 :(得分:1)

如果您的olddomain.com和newdomain.com托管在同一台服务器上,那么您当前的Rewrite似乎会创建循环。这可能就是您从未在浏览器中看到主机名更改的原因。我会添加RewriteCond以避免可能的循环。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^olddomain\.com$
RewriteRule ^(.*)$ http://www.newdomain.com [R=301,L]