我有一个正在迁移到新域名的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
。
有什么可能出错的想法吗?
答案 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]