Всем Привет!
Задача: перенаправить пользователя на существующий урл определив город по скрипту.
Москва > sait.ru/url-moskva.html
При отсутствии города в списке урл направлять на главную sait.ru
Станицы есть в базе, пример:
- url-moskva.html
- url-sankt-peterburg.html
- url-ekaterinburg.html
- url-novosibirsk.html
- и тд. более 1000 страниц первого уровня меню.
Есть станицы 2-го уровня (типа /about.html) с них перенаправлять на главную ненужно.
Ест готовый простой скрипт для ipgeobase.ru вставленный через модуль привольного кода, но можно использовать и другой, главное правильно определить пользователя и отправить на нужную региональную станицу.
<?php
/**
* Возвращает информация об IP адресе
*/
function get_ip_info($ip)
{
$postData = "
<ipquery>
<fields>
<all/>
</fields>
<ip-list>
<ip>$ip</ip>
</ip-list>
</ipquery>
";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://194.85.91.253:8090/geo/geo.html');
curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$responseXml = curl_exec($curl);
curl_close($curl);
if (substr($responseXml, 0, 5) == '<?xml')
{
$ipinfo = new SimpleXMLElement($responseXml);
return $ipinfo->ip;
}
return false;
}
// пример использования
$ipinfo = get_ip_info($_SERVER['REMOTE_ADDR']);
echo $ipinfo->city; // город
?>
Решение должно быть простым!
Ваши предложения?