Недавно я обновил сайт, и почти все URL-адреса изменились. Я перенаправил все из них (или я так надеюсь), но возможно, что некоторые из них ускользнули от меня. Есть ли способ каким-то образом поймать все недопустимые URL-адреса и отправить пользователя на определенную страницу и каким-то образом узнать, с какого URL-адреса пришел человек, чтобы я мог зарегистрировать это и исправить их? Я думаю, что мог бы как-нибудь использовать .htaccess, но не знаю, как это сделать. Я использую PHP. Большое спасибо!
файл ошибки уже находится в .htaccess, но, похоже, ничего не изменится, вы можете увидеть файл ошибки, как показано ниже
AddHandler application/x-httpd-php5s .php
ErrorDocument 404 /content/404.php
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
чтобы увидеть проблему, что я хочу результат, мне нужно что-то перенаправить, если кто-то вводит неправильный URL-адрес, просто проверьте ссылку, даже если вы удалите половину местоположения в конце URL-адреса, который все еще открывается http://adsbuz.com/classifieds/abu-dhabi-uae/
он должен перейти на страницу с ошибкой, но это не так, мне нужна какая-то сила, чтобы подтолкнуть ее к странице ошибки, спасибо
Вы можете создать собственный файл 404. Предполагая, что вы используете Apache, вы должны добавить следующую строку в свой .htaccess
ErrorDocument 404 /errorfilename.php
Этот код в основном сообщает серверу, что если пользователь обнаруживает ошибку 404 (Страница не найдена), отобразить errorfilename.php.
В этом файле PHP вы можете добавить либо код для отправки вам по электронной почте, когда пользователь переходит на страницу 404, либо добавить другую логику для поддержки
В PHP, чтобы получить местоположение страницы 404, вы должны использовать следующую глобальную переменную
$_SERVER['HTTP_REFERER']
Пример вашей страницы 404.php
<?php
$referer = $_SERVER['HTTP_REFERER'];
//this is where you would either email yourself the $referer,
//insert it into a database or perform more complex operations.
?>
<html>
<head>
<title>404</title>
<body>
Sorry, the page you are looking for has been moved/deleted.<br>
The system administration has been notified of this error.<br>
<a href="index.php">Go to Homepage</a>
</body>
</html>