将 no-www 转发到 www,包括子目录“/country-code”
Forward no-www to www including the sub-directories "/country-code"
我们的网站 "www.testa-omega3.com" 有 3 种不同的语言(德语、英语、荷兰语)。
我们的默认语言是荷兰语 (NL),这是目前的主要域名。
DE 和 EN 语言在子目录中:
- www.testa-omega3.com/de/
- www.testa-omega3.com/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}/ [R=301,L]
我们做错了什么?
您的(子)域匹配设置似乎不正确。当您实际想要与裸域匹配时,您的重写规则基于已经与 www 子域一起输入的 URL。
换行
RewriteCond %{HTTP_HOST} ^www\.domain\.com$
至
RewriteCond %{HTTP_HOST} ^domain\.com$
应该可以。
(顺便说一句,你的重写条件在我这边根本不起作用。我托管的服务器抱怨它陷入了循环。)
在我的重写规则中,我无法让 {HTTP_HOST}
变量按照您(重新)使用它的方式工作,但使用完整域名工作得很好:
RewriteRule ^(.*)$ http://www.domain.com/ [R=301,L]
我们的网站 "www.testa-omega3.com" 有 3 种不同的语言(德语、英语、荷兰语)。 我们的默认语言是荷兰语 (NL),这是目前的主要域名。
DE 和 EN 语言在子目录中:
- www.testa-omega3.com/de/
- www.testa-omega3.com/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}/ [R=301,L]
我们做错了什么?
您的(子)域匹配设置似乎不正确。当您实际想要与裸域匹配时,您的重写规则基于已经与 www 子域一起输入的 URL。
换行
RewriteCond %{HTTP_HOST} ^www\.domain\.com$
至
RewriteCond %{HTTP_HOST} ^domain\.com$
应该可以。
(顺便说一句,你的重写条件在我这边根本不起作用。我托管的服务器抱怨它陷入了循环。)
在我的重写规则中,我无法让 {HTTP_HOST}
变量按照您(重新)使用它的方式工作,但使用完整域名工作得很好:
RewriteRule ^(.*)$ http://www.domain.com/ [R=301,L]