我有一个域名 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]
答案 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]
获取更多信息