apache url为多语言站点重写

时间:2014-01-26 18:21:51

标签: php apache .htaccess mod-rewrite

我想在apache2下使用重写条件实现两个目标但实际上这不是我的一杯茶:

  • 将mydomain.com重定向到www.mydomain.com,这很容易做到。我用:

    RewriteEngine On

    RewriteCond%{HTTP_HOST}!^ www.example.com $ [NC]

    RewriteRule ^(。*)$ http://www.example.com/ $ 1 [L,R = 301]

  • 将mydomain.es重定向到www.mydomain.com/?lang=es(以及其他语言等)

我怎么写第二个陈述?如何将此规则与第一个规则结合起来?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

尝试:

RewriteEngine On

RewriteCond %{HTTP_HOST} !^www\.mydomain\.com$ [NC]
RewriteCond %{HTTP_HOST} !^mydomain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^mydomain\.[^.]+$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^mydomain\.([^.]+)/(.*) http://www.mydomain.com/?lang=$1 [L,R=301]

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

mydomain.es,mydomain.fr,mydomain.pt没关系,但 www .mydomain.es

不行