Page 5 of 25
Re: Мультиязычный индекс
Posted: Thu Apr 16, 2020 8:29 am
by ulan
я конечно врубил моск
rewrite ^/index\.php$ /scj/cgi/index.php?force_lng=en last;
и при переходе с любого языка на индекс я должен получить снова енглиш язык а я этого не получаю
в чем тогда ошибка
Re: Мультиязычный индекс
Posted: Thu Apr 16, 2020 8:46 am
by admin
в том, что реврайт этот не для индекса а для ^/index\.php$
Re: Мультиязычный индекс
Posted: Thu Apr 16, 2020 9:07 am
by ulan
Давайте разберемся еще раз
if (!-e $request_filename){
rewrite "^/([^/]{2})/(.*)$" /$2?force_lng=$1&$query_string break;
}
location = / {
index /scj/cgi/index.php?force_lng=en;
}
location / {
rewrite ^/index\.php$ /scj/cgi/index.php?force_lng=en last;
Теперь у меня постоянно английский язык
Вернул все обратно и делаю по мануалу
https://smartcj.com/wiki/doku.php?id=ru ... _сайта_i18
Выключаю Auto Switch language
и полагаюсь на Auto redirect to existing language
https://{DOMAIN}/{LANGUAGE}/{ORIGINAL_REQUEST}
Имею 5 созданных языков + дефолтный ен
что я хочу увидеть (допустим я захожу с русского браузера)
1) При заходе на корень сайта меня кидает на /ru/ ---- все верно
2) При переходе на ЕН версию языка она ведь у меня дефолтная и стоит в корне - я должен увидеть английский язык - но так как в куке стоит уже русский язык я вижу на индексе русский язык ((
3) при повторном заходе на сайт он должен посмотреть что в куке у меня русский язык и проивзести редик на /ru/ - но тоже не работает
Re: Мультиязычный индекс
Posted: Thu Apr 16, 2020 9:13 am
by admin
"При переходе на ЕН версию языка она ведь у меня дефолтная и стоит в корне "
не стоит никакая версия в корне, нет такого понятия
язык берется либо из куки либо из force_lng
вам надо сделать тк, что б у вас было или то или то
совершенно весь код у вас в темплейте, там не надо быть гением и програмистом что б разобраться в тех 10 строках.
"2) При переходе на ЕН версию языка она ведь у меня дефолтная и стоит в корне - я должен увидеть английский язык - но так как в куке стоит уже русский язык я вижу на индексе русский язык (("
да, потому что чтоб не было п.3 надо что б в урле был указан язык
Re: Мультиязычный индекс
Posted: Thu Apr 16, 2020 9:23 am
by ulan
А если я не хочу чтобы у меня в урле был указан язык, я хочу чтобы так называй индекс и был ЕН версиеи сайта
как сделать?
Re: Мультиязычный индекс
Posted: Thu Apr 16, 2020 9:25 am
by admin
в реврайте прописать &force_lng=en
только в рейврайте корня сайта а не index.php как сделано у вас
Re: Мультиязычный индекс
Posted: Thu Apr 16, 2020 9:28 am
by ulan
location = / {
index /scj/cgi/index.php?force_lng=en;
}
Теперь у меня язык не один не переключается
Re: Мультиязычный индекс
Posted: Thu Apr 16, 2020 9:33 am
by admin
ок, давайте пойдем с другой стороны
сделайте без реврайтов, они вас путают
без реврайтов все ок?
Re: Мультиязычный индекс
Posted: Thu Apr 16, 2020 9:36 am
by ulan
ulan wrote: Thu Apr 16, 2020 9:28 am
location = / {
index /scj/cgi/index.php?force_lng=en;
}
Теперь у меня язык не один не переключается
site.com/?force_lng=de
все равно ен версия
Re: Мультиязычный индекс
Posted: Thu Apr 16, 2020 9:39 am
by admin
потому что стоит
location = / {
index /scj/cgi/index.php?force_lng=en;
}
надо просто подумать , не строчить сразу, а задуматься на 5 минут будет ли работать так как вы хотите