使用htaccess将旧域重定向到新域

时间:2015-07-07 16:44:02

标签: apache .htaccess mod-rewrite redirect

需要从example.com迁移到example.net。 以下.htaccess工作得很好。

RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !example.com$ [NC] RewriteRule ^(.*)$ http://example.net/$1 [L,R=301]

此外,我需要example.com主页的请求重定向到example.net/home而不是example.net/,就像在上面的代码中一样。

感谢有关如何做到这一点的建议......

2 个答案:

答案 0 :(得分:1)

如果您正在进行简单的1:1重定向,则完全不需要mod_rewrite:

<virtualhost ...>
    ServerName example.com
    Redirect permanent / http://example.net
</virtualhost>

这甚至会照顾“子网址”。 example.com/foo/bar - &gt; example.net/foo/bar

答案 1 :(得分:0)

您需要两个单独的规则:

RewriteEngine On

# home page
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^/?$ http://example.net/home [L,R=301]

# rest of the pages
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteRule ^(.+)$ http://example.net/$1 [L,R=301]