Я пытаюсь создать страницу клиента 404 на php, которая захватывает и может регистрировать в базе данных запрашиваемую страницу. У меня есть это в моем файле .htaccess уже:Захват и регистрация неработающих ссылок на пользовательской странице 404
ErrorDocument 404 http://mywebsite.com/notfound.php
То, что я пытаюсь сделать, это добавить запрошенный URI в виде строки запроса в URL. Я попытался это:
ErrorDocument 404 http://mywebsite.com/notfound.php?url=% {REQUEST_URI}
но URL показывает буквальный текст, который я ставлю в выше. Поэтому я решил, что мне нужен какой-то флаг в конце, как [QSA] или что-то, но все попытки приводят к ошибке сервера 500.
Моя конечная цель - захватить попытку неработающей ссылки и ссылки на URL (который я может получить от $ _SERVER ['HTTP_REFERER']) на странице notfound.php и записать его в мою базу данных, где я могу вывести отчет обо всех ссылках, гиперссылках или вызываемых через AJAX, которые повреждены или отсутствуют. Я могу сделать все, кроме получения запрошенного URI фактической ссылки, которая вызвала ошибку 404.
Не уверен, что если я следую. .. Если я поставлю «ErrorDocument 404 /notfound.php» в файле .htaccess, я получаю 404 по этому запросу. Помещение «ErrorDocument 404 http://mywebsite.com/notfound.php» в .htaccess работает, но $ _SERVER ["REQUEST_URI"] = /mywebsite/notfound.php. В настоящее время я развиваюсь в localhost, не уверен, что это имеет значение или нет. Мой фактический оператор ErrorDocument: ErrorDocument 404 http: //localhost/devsite/notfound.php, который будет изменен на сервер, когда он появится в прямом эфире. – user3123746
Вам необходимо указать полный путь от DocumentRoot. Поэтому вам нужно использовать: ** 'ErrorDocument 404 /devsite/notfound.php'** – anubhava
aahhh, я знал, что это то, что я пропускал. Должен знать лучше (facepalm). Благодаря!! – user3123746