a69
Доброго дня.
Помогите, а то перечитал кучу форумов вроде все делаю как рассказывают и не работает.
Мне надо чтобы все, английские, китайские, немецкие и французские, видели или 404 или
уходили, допустим, на microsoft.com
делаю так:
RewriteEngine On
RewriteCond %{HTTP_ACCEPT_LANGUAGE} de.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} ch.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} en.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} fr.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} de-ch.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} en-gb.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} fr-ch.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} en-ch.* [NC,OR]
RewriteRule .* http://www.microsoft.com/ [R,L]
Не работает,
все перекидывает на microsoft.com
Что не так, а то от экспериментов уже устал.
Soft-Com
a69 писал:
Доброго дня.
Помогите, а то перечитал кучу форумов вроде все делаю как рассказывают и не работает.
Мне надо чтобы все, английские, китайские, немецкие и французские, видели или 404 или
уходили, допустим, на microsoft.com
делаю так:
RewriteEngine On
RewriteCond %{HTTP_ACCEPT_LANGUAGE} de.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} ch.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} en.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} fr.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} de-ch.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} en-gb.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} fr-ch.* [NC,OR]
RewriteCond %{HTTP_ACCEPT_LANGUAGE} en-ch.* [NC,OR]
RewriteRule .* http://www.microsoft.com/ [R,L]
Не работает,
все перекидывает на microsoft.com
Что не так, а то от экспериментов уже устал.
ошибка в последней строке RewriteCond:
RewriteCond %{HTTP_ACCEPT_LANGUAGE} en-ch.* [NC,OR]
- после неё сразу же идёт RewriteRule.
т.к. ты ставишь в последней строке последним условием [NC,OR], то ВСЕ запросы подпадают под это правило, потому что есть такое понятие как "пустое правило".
измени последний RewriteCond так:
RewriteCond %{HTTP_ACCEPT_LANGUAGE} en-ch.* [NC]
и твой хтаксес будет работать.
a69
Супер, спасибо
Причем оба варианта рабочие, дело действительно было в
OR
попрошу еще одну подсказку.
Китайские бровзеры блокирует, немецкие также, а вот английские проблемно, т.е. если ставлю
en то блокирует заодно и русские, вероятно потому как в бровзере также есть
en.
Как выйти с этой ситуации, какую правильно маску нарисовать, чтоб
ru проходило, а остальные нет?
Еще раз спасибо!
p.s. чтоб ru работала написал так
RewriteCond %{HTTP:Accept-Language} (en-ch|de|ch) [NC]