【问题标题】:apache url rewrite for multilanguage site多语言网站的 apache url 重写
【发布时间】:2014-02-17 11:54:11
【问题描述】:
我想在 apache2 下使用重写条件来实现两个目标,但这实际上不是我的一杯茶:
-
将 mydomain.com 重定向到 www.mydomain.com,这很容易做到。我用:
重写引擎开启
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
重写规则 ^(.*)$ http://www.example.com/$1 [L,R=301]
将 mydomain.es 重定向到 www.mydomain.com/?lang=es(其他语言以此类推)
我该如何写第二个语句?以及如何将这条规则与第一个规则结合起来?
提前感谢您的帮助!
【问题讨论】:
标签:
php
apache
.htaccess
mod-rewrite
【解决方案1】:
试试:
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
不行