- RE: Apache + Languages, Booter, 01:39 , 24-Авг-02 (1)
>Кто-нибудь знает как можно фильтровать трафик к хосту по языкам с помощью >Апача? > >Ну типа, если у пользователя в броузере включен EN, то пускать на >этот виртуалхост (и|или в запрашиваемую папку), а если нет - то >редиректить на другой хост? > >Помогите, плз, если кто знает... >Спасибо. Может так <? if($substr_count($HTTP_ACCEPT_LANGUAGE,"en") > 1) header "Location: http://www.en.mysite.ru/"; else header "Locaton: http://www.ru.mysite.ru/"; ?> или патчить Апач на этот предмет...Хотя, может быть, и патчить не надо.
- RE: Apache + Languages, Julka, 12:51 , 24-Авг-02 (2)
>Может так ><? > if($substr_count($HTTP_ACCEPT_LANGUAGE,"en") > 1) header "Location: http://www.en.mysite.ru/"; > else header "Locaton: http://www.ru.mysite.ru/"; >?> А какое отношение имеет ПХП к Апачу, а тем более к разделению трафика к виртуальному хосту???>или патчить Апач на этот предмет...Хотя, может быть, и патчить не надо. > В том--то и дело, что не надо... только у меня лично не получается. Не могу с mod_rewrite в правиле прописать HTTP_ACCEPT_LANGUAGE... хотя в доке вроде написано, что можно использовать переменные окружения, то есть %{ENV:HTTP_ACCEPT_LANGUAGE} как бы должно было бы работать, но почему-то в логах rewrite выдает пустую строчку... может я что-то не так в доках поняла... или у меня в Апаче что-то отключено? Народ, подскажите, плз Ж)
- RE: Apache + Languages, Booter, 15:24 , 24-Авг-02 (3)
>>Может так >><? >> if($substr_count($HTTP_ACCEPT_LANGUAGE,"en") > 1) header "Location: http://www.en.mysite.ru/"; >> else header "Locaton: http://www.ru.mysite.ru/"; >>?> >А какое отношение имеет ПХП к Апачу, а тем более к разделению >трафика к виртуальному хосту??? Никакого. Просто один из вариантов решения проблемы, причем не самый плохой, поскольку может быть доработан до автоматической баллансировки сколь угодно высокого уровня сложности. > >>или патчить Апач на этот предмет...Хотя, может быть, и патчить не надо. >> > >В том--то и дело, что не надо... только у меня лично не >получается. Не могу с mod_rewrite в правиле прописать HTTP_ACCEPT_LANGUAGE... хотя в >доке вроде написано, что можно использовать переменные окружения, то есть %{ENV:HTTP_ACCEPT_LANGUAGE} >как бы должно было бы работать, но почему-то в логах rewrite >выдает пустую строчку... может я что-то не так в доках поняла... >или у меня в Апаче что-то отключено? Странно, в документации просто %{HTTP_ACCEPT_LANGUAGE}, без ENV. А модуль вообще подключен? На простых примерах работатет? >Народ, подскажите, плз Ж)
- RE: Apache + Languages, Julka, 16:48 , 26-Авг-02 (4)
>>А какое отношение имеет ПХП к Апачу, а тем более к разделению >>трафика к виртуальному хосту??? > >Никакого. Просто один из вариантов решения проблемы, причем не >самый плохой, поскольку >может быть доработан до автоматической баллансировки сколь >угодно высокого уровня сложности. Я спрашивала о решении с Апачем, а не с прикладным программированием. По-этому доработку оставим на более другое время.>>>или патчить Апач на этот предмет...Хотя, может быть, и патчить не надо. >>В том--то и дело, что не надо... только у меня лично не >>получается. Не могу с mod_rewrite в правиле прописать HTTP_ACCEPT_LANGUAGE... хотя в >>доке вроде написано, что можно использовать переменные окружения, то есть %{ENV:HTTP_ACCEPT_LANGUAGE} >>как бы должно было бы работать, но почему-то в логах rewrite >>выдает пустую строчку... может я что-то не так в доках поняла... >>или у меня в Апаче что-то отключено? > >Странно, в документации просто %{HTTP_ACCEPT_LANGUAGE}, без >ENV. Вот уж действительно странно, может я что-то не так перевела? # There is the special format: %{ENV:variable} where variable can be any environment variable. This is looked-up via internal Apache structures and (if not found there) via getenv() from the Apache server process. >А модуль вообще подключен? На >простых примерах работатет? Работает, например %{HTTP_USER_AGENT} работает, а %{HTTP_ACCEPT_LANGUAGE} нет. >>Народ, подскажите, плз Ж)
- RE: Apache + Languages, Booter, 19:18 , 26-Авг-02 (5)
> >>>А какое отношение имеет ПХП к Апачу, а тем более к разделению >>>трафика к виртуальному хосту??? >> >>Никакого. Просто один из вариантов решения проблемы, причем не >самый плохой, поскольку >>может быть доработан до автоматической баллансировки сколь >угодно высокого уровня сложности. >Я спрашивала о решении с Апачем, а не с прикладным программированием. По-этому >доработку оставим на более другое время. Хорошо, будем рыть апач. >>>>или патчить Апач на этот предмет...Хотя, может быть, и патчить не надо. > >>>В том--то и дело, что не надо... только у меня лично не >>>получается. Не могу с mod_rewrite в правиле прописать HTTP_ACCEPT_LANGUAGE... хотя в >>>доке вроде написано, что можно использовать переменные окружения, то есть %{ENV:HTTP_ACCEPT_LANGUAGE} >>>как бы должно было бы работать, но почему-то в логах rewrite >>>выдает пустую строчку... может я что-то не так в доках поняла... >>>или у меня в Апаче что-то отключено? >> >>Странно, в документации просто %{HTTP_ACCEPT_LANGUAGE}, без >ENV. >Вот уж действительно странно, может я что-то не так перевела? > ># There is the special format: %{ENV:variable} where variable can be any >environment variable. This is looked-up via internal Apache structures and (if >not found there) via getenv() from the Apache server process. > >>А модуль вообще подключен? На >>простых примерах работатет? >Работает, например %{HTTP_USER_AGENT} работает, а %{HTTP_ACCEPT_LANGUAGE} нет. > Давай подумаем логически - все что HTTP_* выставляется сервером, а, следовательно должно обрабатыватся как %{HTTP_*}, с другой стороны это - переменная среды, то есть доступ должен быть по %{ENV:HTTP_*}. Другой вопрос - а выставляются ли HTTP_ - переменные среды до переписывания или после? Надо в код лезть... >>>Народ, подскажите, плз Ж)
- RE: Apache + Languages, Booter, 20:19 , 26-Авг-02 (6)
>>>>В том--то и дело, что не надо... только у меня лично не >>>>получается. Не могу с mod_rewrite в правиле прописать HTTP_ACCEPT_LANGUAGE... хотя в >>>>доке вроде написано, что можно использовать переменные окружения, то есть %{ENV:HTTP_ACCEPT_LANGUAGE} >>>>как бы должно было бы работать, но почему-то в логах rewrite >>>>выдает пустую строчку... может я что-то не так в доках поняла... >>>>или у меня в Апаче что-то отключено? >>> >>>Странно, в документации просто %{HTTP_ACCEPT_LANGUAGE}, без >ENV. >>Вот уж действительно странно, может я что-то не так перевела? >> >># There is the special format: %{ENV:variable} where variable can be any >>environment variable. This is looked-up via internal Apache structures and (if >>not found there) via getenv() from the Apache server process. >> >>>А модуль вообще подключен? На >>>простых примерах работатет? >>Работает, например %{HTTP_USER_AGENT} работает, а %{HTTP_ACCEPT_LANGUAGE} нет. >> > >Давай подумаем логически - все что HTTP_* выставляется сервером, а, следовательно должно >обрабатыватся как %{HTTP_*}, с другой стороны это > - переменная среды, то есть доступ должен быть по %{ENV:HTTP_*}. Другой >вопрос - а выставляются ли HTTP_ - переменные среды до переписывания >или после? Надо в код лезть... Слазил. Вот что интересно - основные переменные определяются именно через HTTP_*, а остальные - через HTTP:* . Попробуй %{HTTP:Accept-Language}.
|