重定向根(只有根)的URL到另一个域?
我正在寻找重定向我的域example.com和www.example.com到http://example2.com,但我想保留所有访问我的帖子在http://example.com/sdfhs继续到目的地。重定向根(只有根)的URL到另一个域?
本质上,我只想重定向根和www域,并保持其余不变。
我该如何使用.htaccess来做到这一点?
您可以简单地匹配任何至少包含1个字符的网址(.+)
,并将其标记为重写引擎的最后一条规则,即[L]
。 然后重定向其他任何东西(.*)
到新的域(唯一的其他事情不会匹配到那一点将是根)。
RewriteEngine On
RewriteRule ^(.+)$ - [L]
RewriteRule ^(.*)$ http://example2.com/$1 [R=301,L]
为什么不
RewriteEngine On
RewriteCond ${HTTP_HOST} example\.com|www\.example\.com
RewriteRule ^/?$ http://example2.com [L]
这会将所有域重定向到example.com。我不相信这是理想的。 – 2012-04-20 13:13:51
@JasonMcCreary对不起,你是对的,我记住这只适用于他的(虚拟)主机。我已经更新了对http_host的测试,我希望我的重新模式是正确的。 – 2012-04-20 13:25:03
不知道如果你仍然有这个问题,但我有它在我的领域之一(YOURLS安装)。尝试:
RewriteEngine On
RewriteRule ^$ http://www.example.com/ [R=301,L]
它适用于我的安装,但在您的网站上检查出来。
启用mod_rewrite的,并通过httpd.conf
的.htaccess,然后把这个代码在你.htaccess
下DOCUMENT_ROOT
目录:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase/
RewriteCond ${HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^$ http://example2.com [L,R=301]
这将所有域重定向到example.com。我不相信这是理想的。 – 2012-04-20 13:13:59