日期:2014-05-17  浏览次数:20510 次

求助 更换域名301跳转问题
假设老域名: a.com ,新域名: b.com 

请教如何配置.htaccess,将原域名所有URL 301跳转到新域名,包括二级域名
如:www.a.com -> www.b.com
a.com -> www.b.com
shop.a.com -> shop.b.com
photo.a.com -> photo.b.com
...................... 等等


我在 .htaccess添加了以下规则,会把所有URL转向到www.b.com ,无法满足要求

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{HTTP_HOST} (.*)a.com [NC]
RewriteRule ^(.*)$ http://www.b.com/$1 [R=301,NC]


注:服务器环境 Apache + PHP

------解决方案--------------------
你试着加点:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^[^\.]+\.a\.com$
RewriteRule ^(.*) %{HTTP_HOST}/$1 [C]
RewriteRule ^([^\.]+)\.a\.com(.*)$ http://$1\.b\.com$2\?%{QUERY_STRING} [R=301,L]

这样加个/好不好用呢。