Разработка сайтов и оптимизация  
   
 
 
Контакты  Разработка сайтов Портфолио Мы
 TengyStudio » Лог-файлы сервера

Лог-файлы сервера

Для просмотра информации о запросах необходимо иметь доступ к log-файлам.
Как правило, это текстовые файлы, хранящиеся на сервере.
Каждая отдельная строка лог-файла веб-сервера «Apache» содержит следующую информацию:
IP-адрес пользователя - - [дату и время визита] "URL запрашиваемой страницы" "реферер пользователя" "имя браузера"

87.117.163.2 - - [04/Sep/2009:00:21:59 +0400] "GET /log.html" 200 29102 "http://www.tengy.ru/bot.html" "Opera/9.62 (Windows NT 5.1; U; MRA 5.5 (build 02842); ru) Presto/2.1.1"

Строки о запросах страниц сайта роботами поисковых систем выглядят следкющим образом:

72.30.142.224 - - [03/Sep/2009:23:32:42 +0400] "GET /log.html HTTP/1.0" 200 7579 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp/3.0; http://help.yahoo.com/help/us/ysearch/slurp)"

95.108.147.240 - - [03/Sep/2009:23:33:16 +0400] "GET /rss.xml HTTP/1.0" 200 3482 "-" "YandexBlog/0.99.101 (compatible; DOS3.30; Mozilla/5.0; B; robot) 17 readers"

77.88.23.248 - - [03/Sep/2009:23:42:42 +0400] "GET /robots.txt HTTP/1.0" 200 1302 "-" "Yandex/1.01.001 (compatible; Win16; P)"

66.249.65.1 - - [03/Sep/2009:23:59:04 +0400] "GET /sozdatel/88r.gif HTTP/1.0" 200 - "-" "Googlebot-Image/1.0"


Если у Вас несколько сайтов на одной хостинговой площадке, желательно для каждого создать отдельный лог-файл.
В корневой директории сайта файл с названием robot.php:

$ip = getenv("REMOTE_ADDR");
$time = date("Y-m-d H:i:s");
$agent = getenv("HTTP_USER_AGENT");
$url = getenv("REQUEST_URI");

$bots = array(
"GoogleBot" => "Googlebot",
"Yandex" => "Yandex",
"MSN Bot" => "msn",
"Yahoo" => "Yahoo",
"Rambler" => "Rambler"
);

$is_bot = false;
foreach($bots as $name => $p) { i
f (preg_match("#{$p}#msi", $agent)) {
$is_bot = true; $agent = "[{$bot_agent}] ".$agent;
break;
}
}
$fn = ($is_bot) ? "robots.log" : "hosts.log";

$str = "{$ip} {$time} {$agent} :::::> {$url}\n";
// if ($is_bot) // <-- раскомментировать если требуется фиксировать только посещения ботов
log2file($fn, $str);

function log2file($fn, $text) {
$fh = fopen($fn, 'a');
fwrite($fh, $text);
fclose($fh);
}
?>

В $robots = array( ... ); можно прописать любые боты
Можно подключить файл robot.php к страницам при помощи include:

<?include("robot.php");?>
или вставить код в header страниц.
Создаем в корневой дректории файлы robots.log и hosts.log с правами 777
Вызываем файлы - http://ваш.сайт/robots.log http://ваш.сайт/hosts.log
Чтобы посмотреть, как Ваш заход прописывается в лог-файле, нужно перейти на файл http://www.tengy.ru/robot.php

Автор: NorD

 

При цитировании материалов сайта ссылка на Tengy Studio обязательна.

 

 
 
 
Создание и продвижение сайтов
Tengy Studio © 2002-
Карта сайта E-mail
Rambler's Top100