Код для отслеживания 404 страницы

Со временем на сайте появляются битые ссылки, и чтобы знать их, и знать как они появились, то можно вести их лог.
С помощью которого потом их устранять.
Можно лог делать с помощью Яндекс метрики и Гугл Аналитикс, но их достаточно сложно настроить и они не всегда достоверны.
Ниже php код, который надо встроить в сайт, лучше в самое начало (до переадресации).

  

// отслеживаем ошибки 404
//core::print_r($_SERVER);
$x=apache_response_headers();
if(isset($x['Status']) && $x['Status'] == '404 Not Found') {
    $fp = fopen('log404.log', 'a');
    $ref = (isset($_SERVER['HTTP_REFERER'])) ? $_SERVER['HTTP_REFERER'] : 'no_ref';
    fwrite($fp, date('Y-m-d H:i') . ' ' . $_SERVER['REQUEST_URI'] . ' ref: '. $ref . "\r\n");
    
    fclose($fp);
}




В UserCMS достаточно его вставить в конец темы сайта.
После чего весь лог будет вестись в файле log404.log
Refferer означает откуда пришел пользователь (правда не всегда определяется и зависит от браузера).
Если код в корне разместили, то и лог файл тоже будет в корне сайта.
Пред. урок След. урок