我们有一个网站“www.testa-omega3.com”,有3种不同的语言(DE,EN,NL)。 我们的默认语言是荷兰语(NL),它目前是主要的域名。
DE和EN语言位于子目录中:
当我们在浏览器中输入完整的URL时,它将显示正确的页面。 DE和EN的非www未正确重定向。
这些:
testa-omega3.com/en
testa-omega3.com/en/
testa-omega3.com/de
testa-omega3.com/de/
全部重定向到“www.testa-omega3.com”
目前我们的htaccess中有以下几行:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.domain\.com$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
我们做错了什么?
答案 0 :(得分:0)
您的(子)域匹配似乎设置不正确。当您确实想要与裸域匹配时,您的重写规则基于已经使用 www 子域输入的URL。
更改行
RewriteCond %{HTTP_HOST} ^www\.domain\.com$
到
RewriteCond %{HTTP_HOST} ^domain\.com$
应该有用。
(你的重写条件对我来说根本不起作用;我主持的服务器抱怨它被卡在循环中。)
在我的重写规则中,我无法使{HTTP_HOST}
变量以您(重新)使用它的方式工作,但使用完整的域名工作得很好:
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]