$ref=getenv("HTTP_REFERER");
if (stristr($ref,'text') and !stristr($ref,'google.') and !stristr($ref,'yahoo.') and !stristr($ref,'bing.')){
header("Location: http://site.com/textpuper.html");
}
if (stristr($ref,'text2') and !stristr($ref,'google.') and !stristr($ref,'yahoo.') and !stristr($ref,'bing.')){
header("Location: http://site.com/text2super.html");
}
if (stristr($ref,'text3') and !stristr($ref,'google.') and !stristr($ref,'yahoo.') and !stristr($ref,'bing.')){
header("Location: http://site.com/text3page.html");
}
...
При загрузки Index страницы я прогоняю вот таким фильтром в сама начале, и если вижу что есть вхождение в реферер слово какое то отправляю пользователя на нужную категорию по тематике. НО вот не досада таких вот правил более 90 штук, и скорость упала сильно загрузки страницы. Помогите код сделать более быстрым в исполнении.
Спустя 15 минут, 59 секунд (21.06.2012 - 19:57) Игорь_Vasinsky написал(а):
собрать в массив юзерагенты поисковиков, потом
if(!in_array($_SERVER['HTTP_USER_AGENT']), $arrSearch)
{
//switch->case по $text
}
Спустя 43 секунды (21.06.2012 - 19:58) Winston написал(а):
Можно так попробовать
Свернутый текст
$ref=getenv("HTTP_REFERER");
$array = array(
'text' => 'textpuper.html',
'text2' => 'text2puper.html',
'text3' => 'text2page.html'
);
foreach($array as $key => $val)
{
if((false !== strpos($ref, $key)) && strpos($ref,'google.') === false && strpos($ref,'yahoo.') === false && strpos($ref,'bing.') === false)
{
header("Location: http://site.com/" . $val);
exit;
}
}
Спустя 6 минут, 39 секунд (21.06.2012 - 20:04) sx000 написал(а):
ну да как раз вот сел писать такое
... щас сижу загоняю весь список этот большой ... как сделаю скажу какие отличия но что то мне подсказывает не увижу я отличий
там на одли секунды мож будет отличий и то не факт


Спустя 3 минуты, 39 секунд (21.06.2012 - 20:08) Игорь_Vasinsky написал(а):
будут отличия,, у тя не рационально условия ветвления используются раз-за-разом.