The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
RE: Apache + Languages, !*! Julka, 21-Авг-02, 20:00  [смотреть все]
Кто-нибудь знает как можно фильтровать трафик к хосту по языкам с помощью Апача?

Ну типа, если у пользователя в броузере включен EN, то пускать на этот виртуалхост (и|или в запрашиваемую папку), а если нет - то редиректить на другой хост?

Помогите, плз, если кто знает...
Спасибо.

  • 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}.





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру