Он ведет лог-файл с указанием даты, IP посетителя и ID ссылки. Ведение лог-файла может быть отключено с сохранением собственно функции редиректа. Это может быть полезно, если у Вас есть доступ к лог-файлам Вашего сервера, в которых будет информация о переходах на САМ скрипт редиректа.
В любом случае - для учета внешних ссылок редирект нужен для "локализации" внешних ссылок, т.е. чтобы, уходя по внешней ссылке, посетитель оставлял об этом след на Вашем сайте.
Скрипт для редиректа предназначен для учета перехода по определенным ссылкам Вашего сайта, например, по внешним (ведущим на другие сайты). Учет происходит следующим образом: 1. Пользователь переходит по внешней ссылке, которая фактически ведет на скрипт редиректа; 2. Скрипт записывает в свой лог-файл запись о переходе и перенаправ- ляет пользователя на нужный URL. Переадресация браузера пользователя "на уровне протокола HTTP" позво- ляет максимально сократить время перехода по ссылке. Этот скрипт является nph-скриптом (полностью формирующим HTTP-ответ браузеру).
1. Запишите в файл links.txt информацию обо всех учитываемых сайтах в следующем формате: (ID_сайта)=(URL_сайта) где URL_сайта - URL учитываемой ссылки; ID_сайта - идентификатор соответствующего URL. Этот идентификатор должен быть уникальным в пределах данного списка. Это может быть любое сочетание букв, цифр или просто порядковый номер. При переходе пользователя по ссылке вызывается скрипт редиректа, которому в качестве параметра передается ID сайта, и посетитель направляется на URL, соответствующий данному ID. информация о каждом сайте должна быть записана на отдельной строке. 2. Настройте редирект в соответствии с Вашими потребностями, как это описано в разделе 3; 3. Измените файл rderror.html; 4. Разместите скрипт (nph-rd.cgi) и другие файлы (links.txt, rderror.html, rd-error.txt, rdlog.txt) в Вашу cgi-bin директорию и уста- новите права доступа (на исполнение - для nph-rd.cgi, на чтение - links.txt и rderror.html, на чтение/запись - для остальных файлов). 5. На Ваших HTML-страницах ссылки на учитываемые скриптом URL-ы записывайте следующим образом: ... где /cgi-bin/nph-rd.cgi - адрес Вашего скрипта редиректа. ID - идентификатор URL, на который должен перейти пользователь по этой ссылке.
$rderr - имя лог-файла ошибок; $rderr_answer - имя html-файла, который выдается пользователю при ошибке редиректа; обратите внимание, что html-файл должен находиться в каталоге cgi-bin ! $log =1 - вести лог-файл переходов по ссылкам; 0 - не вести лог-файл переходов. Последнее значение может быть целесообразно, если Ваш хостинг-провайдер предоставляет Ваи доступ к лог-файлам Вашего сервера. В этом случае в лог-файлах сервера будут записываться все обращения _к скрипту редиректа_ и, соответственно, необходимость в ведении отдельного лог-файла отпадает. $rdlog - имя лог-файла переходов. Имеет смысл, если $log = 1; $links - имя файла ссылок. $lockfile и $lockfile2 - временные файлы блокировки доступа в лог-файлы переходов и ошибок соответственно. Единственное требование к именам этих файлов - файлов с таким именем не должно быть в директории на сервере, где находится и работает скрипт. Если другие скрипты используют аналогичный метод блокировки одновременной записи, имена этих файлов у разных скриптов должны различаться.
Строки лог-файла переходов по ссылкам: "IP_адрес_посетителя" "Дата_и_время" "ID" Строки лог-файла ошибок: "IP_адрес_посетителя" "Дата_и_время" "Описание_ошибки" В настоящее время скрипт воспринимает ошибку только при передаче ему неизвестного ID (не существующего в файле links.txt).
Автор надеется, что представленный здесь скрипт и сопутствующие материалы не содержат ошибок и будут корректно работать в любой ситуации, но не дает на этот счет каких-либо гарантий. Скрипт поставляется бесплатно "как есть". Если Вы столкнулись с ошибкой в скрипте во время его использования, пожалуйста, сообщите об этом автору. При этом возможно более точно опишите проявление ошибки. Это поможет выпустить следующую версию скрипта, не содержащую этой ошибки.