Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Nginx localization rewrite
- To: nginx-ru@xxxxxxxxx
- Subject: Nginx localization rewrite
- From: "cackle" <nginx-forum@xxxxxxxx>
- Date: Sun, 8 Jul 2012 05:48:16 -0400 (EDT)
- Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To:Date; bh=eIp7xhlWKZyp9kbTXgu9bphvRTWt3GSnFnZoj/UAHas=; b=iUkO8WKNbStZ3JSWbYvpeYVxJPlzn3Fle/F1oOi/p/zwrPNrcELML57ozhrcUO3C4RStFeY54xdwlzXXAttn2uQ86r3YbF3QWbJs+/MnCEU59q0qd/Ki0u1bzBRGkR2m;
Добрый день.
Необходимо написать rewrite правила для
Английской и Русской версии сайта.
Пускай домен сайта example.com по умолчанию
у него Английская локаль.
Если у пользователя в браузере en
локаль, то он должен попадать на example.com,
если ru локаль, то на ru.example.com.
Для этого я написал следующие правила:
...
location / {
if ($host = 'example.com') {
set $zzz e;
}
if ($http_accept_language ~* "^ru") {
set $zzz "${zzz}ru";
}
if ($zzz = eru) {
rewrite ^/(.*)$ http://ru.example.com/$1 permanent;
}
...
}
Следующие случаи работают прекрасно:
1. юзер с локалью en заходит на example.com
2. юзер с локалью en заходит на ru.example.com
3. юзер с локалью ru заходит на example.com и
его редиректит на ru.example.com
Как быть, если юзер с локалью ru хочет
зайтина example.com только на английскую
версию сайта?
Можно сделать en.example.com и дальше
редиректить его на example.com, но в таком
случае он снова окажется на ru.example.com.
Как сделать так, чтоб если пользователь
с ru локалью выбирал бы en.example.com, его
редиректило на example.com, но без
выполнения последующего редиректан на
ru.example.com?
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,228390,228390#msg-228390
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|