.htaccess - 重定向域名

时间:2012-10-20 12:16:57

标签: apache .htaccess mod-rewrite redirect

我有一个域名 www.domainA.com 我想以下列方式将其重定向到 domainB

www.domainA.com - > www.domainB.com
www.domainA.com/anything - > www.domainB.com/rebrand

我如何在htaccess中执行此操作,我已完成以下代码,但仅重定向到/rebrand/

RewriteCond %{REQUEST_URI} ^\/
RewriteRule ^\/$ http://www.domainB.com/ [L,R=301]

RewriteCond %{HTTP_HOST} ^domainA\.com$ [NC]
RewriteRule ^(.*)$ http://www.domainB.com/rebrand/ [L,R=301]

2 个答案:

答案 0 :(得分:2)

通过htaccess文件中的规则的URI会删除前导斜杠,因此无法与之匹配。对于第二个规则,它与/请求匹配,因为第一个规则未应用且您的正则表达式匹配任何内容或任何内容,您可以通过将*更改为+来解决此问题:

RewriteCond %{HTTP_HOST} ^domainA\.com$ [NC]
RewriteRule ^/?$ http://www.domainB.com/ [L,R=301]

RewriteCond %{HTTP_HOST} ^domainA\.com$ [NC]
RewriteRule ^(.+)$ http://www.domainB.com/rebrand/ [L,R=301]

答案 1 :(得分:0)

通过htaccess重定向有时很棘手,有很多方法可以实现这一点,但有一种简单的方法对我有用

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule (.*) [newdomain.com...] [R=301,L]

您可以从webmaster world forum

获取更多信息