1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Как сделать гео редирект

Тема в разделе "Web Coding", создана пользователем Soprano, 8 авг 2013.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Soprano

    Soprano Комбинатор

    Регистр.:
    11 апр 2009
    Сообщения:
    632
    Симпатии:
    956
    Интересует, как сделать георедирект - если на сайт заходит посетитель из США - идет перенаправление на 1-й урл, из Австралии - на 2-й урл, из Канады на 3-й и т.д. Если из Индии - перенаправления нет.

    Не через ТДС.

    Желательно увидеть вариант через .htaccess
     
  2. ReBeL

    ReBeL Злобный старикашка

    Регистр.:
    3 май 2006
    Сообщения:
    1.561
    Симпатии:
    849
    Ты представляешь себе размер .htaccess со всей базой, используемой GeoIP?
     
  3. Soprano

    Soprano Комбинатор

    Регистр.:
    11 апр 2009
    Сообщения:
    632
    Симпатии:
    956
    Я хотел бы выделить только 4 страны каждая по линку + все остальные на 5-й урл уходят. В сети есть варианты типа

    Код:
    1. Редирект с помощью .htaccess
     
    RewriteEngine On
    RewriteCond %{HTTP_ACCEPT_LANGUAGE} de.* [NC,OR]
    RewriteCond %{HTTP_ACCEPT_LANGUAGE} de-ch.* [NC,OR]
    RewriteCond %{HTTP_ACCEPT_LANGUAGE} at.* [NC,OR]
    RewriteCond %{HTTP_ACCEPT_LANGUAGE} en-gb.* [NC,OR]
    RewriteCond %{HTTP_ACCEPT_LANGUAGE} de-at.* [NC,OR]
    RewriteCond %{HTTP_ACCEPT_LANGUAGE} de-li.* [NC,OR]
    RewriteCond %{HTTP_ACCEPT_LANGUAGE} fr-ch.* [NC,OR]
    RewriteCond %{HTTP_ACCEPT_LANGUAGE} ch.* [NC,OR]
    RewriteCond %{HTTP_ACCEPT_LANGUAGE} de-de.* [NC,OR]
    RewriteRule .* http://e-masters.biz [R,L]
     
    2. Редирект на JavaScript
    <script language="JavaScript">
    var language1, language2, i, f;
    var loc = new Array("at","au","be","ca","dk","es","fi","gr","ch","de-ch","de",
    "fr","en-ie","ie","en-gb","nl","it","gb","no","pt","nz","us");
    if (navigator.appName.indexOf("Microsoft") != -1) {
    language1=navigator.systemLanguage.toLowerCase();
    language2=navigator.userLanguage.toLowerCase();
    } else { language1=language2=navigator.language.toLowerCase(); }
    for (f=false,i=0;i || (language2 == loc[i])) { f = true; break; } }
    if (f) document.location="http://e-masters.biz";
    </script>
    
    Мне нужно только, чтоб на разные линки уходило..
     
  4. Darkness

    Darkness Постоялец

    Регистр.:
    21 янв 2013
    Сообщения:
    146
    Симпатии:
    69
    Код:
    GeoIPEnable On
    GeoIPDBFile /GeoIP.dat
     
    RewriteEngine On
    RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^US$ [NC]
    RewriteRule ^(.*)$ UnitedStates.html [R,L]
     
    RewriteEngine On
    RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^AU$ [NC]
    RewriteRule ^(.*)$ Australia.html [R,L]
    Здесь список кодов стран мира http://www.ruslog.com/forum/index.php?topic=212.0
    А что работает такое? Я думал на один редирект сработает только одно правило, причем последнее.
     
  5. Soprano

    Soprano Комбинатор

    Регистр.:
    11 апр 2009
    Сообщения:
    632
    Симпатии:
    956
    Вроде есть вариант, у буржуев нашел
    [​IMG]
    Но он не полный..
     
    8Katalin8 нравится это.
  6. Darkness

    Darkness Постоялец

    Регистр.:
    21 янв 2013
    Сообщения:
    146
    Симпатии:
    69
    В смысле не полный?
     
  7. Soprano

    Soprano Комбинатор

    Регистр.:
    11 апр 2009
    Сообщения:
    632
    Симпатии:
    956
    В смысле, что там одна картинка без пояснений. Что такое, например, /path/to/GeoIP.dat ?
     
  8. 8Katalin8

    8Katalin8 Постоялец

    Регистр.:
    3 авг 2013
    Сообщения:
    75
    Симпатии:
    30
  9. Darkness

    Darkness Постоялец

    Регистр.:
    21 янв 2013
    Сообщения:
    146
    Симпатии:
    69
    Папка с GeoIP, к примеру /usr/local/share/GeoIP/GeoIP.dat
    GeoIP.dat это таблица стран мира для GeoIP, чтобы это работало нужен mod_geoip
    Лучше делать так, флаги [NC] и [R,L] не помешают.
     
  10. onnegrio

    onnegrio

    Регистр.:
    15 янв 2010
    Сообщения:
    263
    Симпатии:
    86
Статус темы:
Закрыта.