301重定向到具有相同网址结构的新域

时间:2015-03-06 08:15:34

标签: .htaccess magento redirect http-status-code-301

我有一个正在迁移到新域名的Magento网站。我期待301将旧域中的所有页面重定向到保持相同URL结构的新域。

我已使用以下命令更新旧域上的.htaccess文件:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^new-domain.com$ [NC]
RewriteRule ^(.*)$ http://new-domain.com/$1 [R=301,L]

问题:上述内容似乎只将old-domain.com/subdir/whatever的每个实例重定向到主域:new-domain.com

我希望将old-domain.com/subdir/whatever重定向到:new-domain.com/subdir/whatever

有什么可能出错的想法吗?

2 个答案:

答案 0 :(得分:5)

调整规则以使用不依赖于.htaccess目录的REQUEST_URI变量:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?old-domain\.com$ [NC]
RewriteRule ^ http://new-domain.com%{REQUEST_URI} [R=301,L,NE]

最好在测试此规则之前清除浏览器缓存。

PS:您需要将主机名条件与旧主机匹配,而不是新主机。

答案 1 :(得分:3)

这应该重定向并保留主域之后的路径。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^old-domain\.com$ [NC]
RewriteRule ^(.*)$ http://new-domain.com/$1 [R=301,L]