.htaccess 3个不同的域名,3个不同的301

时间:2015-05-18 21:49:11

标签: apache .htaccess magento mod-rewrite redirect

目前我正在使用3个不同的域名运行Magento。我想为这3个中的每一个都有一个301重写规则,所以“www。”当用户键入“domain.de”

时,会添加到它们中

例如:domain.de被重写为www.domain.de

目前我的代码如下:

Rewriteengine on
RewriteCond %{HTTP_HOST} !^www\.domain\.de$ [NC] 
RewriteRule ^(.*)$ http://www.domain.de/$1 [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] 
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.example\.de$ [NC] 
RewriteRule ^(.*)$ http://www.example.de/$1 [L,R=301]

问题是代码导致重定向循环,我不知道问题是什么。 如果有人能告诉我代码有什么问题,我会很高兴...

1 个答案:

答案 0 :(得分:0)

问题是RewriteCond %{HTTP_HOST} !^www\.domain\.de$是一个否定条件,并且也匹配其他2个域。

用这条规则替换3条规则:

Rewriteengine on

RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [L,R=301,NE]

请记住在测试此规则之前清除浏览器缓存。