我正在尝试将子版本的英文版添加到我的网站,如下所示:
现在我实际上通过使用以下代码将子域附加到查询字符串来实现它:
Options -Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.mywebsite\.com [NC]
RewriteCond %{HTTP_HOST} !^en\.mywebsite\.com [NC]
RewriteRule (.*) http://www.mywebsite.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^en\.mywebsite\.com
RewriteRule ^(.*)$ http://www.mywebsite.com/$1?language=en [QSA]
问题是,它是通过将用户重定向到www.mywebsite.com/business-name?language=en来实现的,但我想避免重定向,而是虚拟地传递“新生成的”查询字符串。 / p>
可以实现,还是QSA总是重定向?
提前致谢。
答案 0 :(得分:0)
尝试更改上一条规则:
RewriteCond %{HTTP_HOST} ^en\.mywebsite\.com
RewriteRule ^(.*)$ http://www.mywebsite.com/$1?language=en [QSA]
到
RewriteCond %{HTTP_HOST} ^en\.mywebsite\.com
RewriteCond %{QUERY_STRING} !language=
RewriteRule ^(.*)$ /$1?language=en [L,QSA]