RewriteRule多语言网站

时间:2012-10-25 10:31:34

标签: .htaccess mod-rewrite

拥有多种语言的网站 额外的语言在我的服务器上的子域名中,如de.mydomain.com,fr.mydomain.com。 在这些de,fr子目录中,我只使用以下代码放置了htaccess文件:

Options +FollowSymLinks
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^www\.de\.mydomain\.com$
RewriteRule ^(.*)$ "http://www.mydomain.com/$1?lan=2%1" [L]

它有效,但不是我想要的。它只是从de.mydomain.com重定向到mydomain.com,浏览器中的url正在改变,我希望网址保持如下:de.mydomain.com但是要从mydomain.com?lan=2获取内容。 (我使用lan变量来改变lang)

我在这里做错了什么? 也许我对这个问题的一般看法是错误的?

2 个答案:

答案 0 :(得分:1)

修改:

您需要将de子域指向根目录,然后将这些行添加到根htaccess文件中:

RewriteCond %{HTTP_HOST} ^(www\.)?de\.mydomain\.com$
RewriteRule ^(.*)$ /$1?lan=2 [L,QSA]

答案 1 :(得分:0)

将此规则放在您的规则之前:

RewriteRule !^(fr|en)/ /en%{REQUEST_URI} [L,R=301]

.htaccess rewrite to default language folder?

相关问题