Как я могу заставить ErrorDocument в .htaccess вывести неправильный параметр uri?
-
20-09-2019 - |
Вопрос
Я обошел решение преобразовать все uri на одну страницу с помощью ErrorDocument.
Причина этого заключается в отправке файлов И папок (хороших URL-адресов) на одну страницу.Однако мне нужна строка URI для отправки в index.php?uri=string .Возможно ли это с помощью ErrorDocument, или как мне это сделать?
Поэтому мне нужно переписать
Для
Возможно ли это вообще, если да, то как?
Решение
Если ваш сервер поддерживает включение на стороне сервера (SSI), то вы используете следующее 404.shtml
в качестве вашего документа с ошибкой:
<html>
<header>
<meta http-equiv="Refresh" content="0; url=/index.php?uri=<!--#echo var="REQUEST_URI" -->">
</header>
</html>
Редактировать:есть более простой способ:создайте PHP-файл в качестве вашего ErrorDocument, и вы сможете делать в нем все, что угодно под солнцем!:)
РЕДАКТИРОВАТЬ 2:вы можете получить доступ к исходному URI с помощью $_SERVER['REQUEST_URI']
РЕДАКТИРОВАТЬ 3:черт возьми, если вы просто перенаправляете на index.php
на том же хостинге вы можете просто установить это index.php
файл как ваш ErrorDocument и определите, перенаправлен ли запрос из ошибки 404, проверив, не $_SERVER['REDIRECT_STATUS'] == '404'