htaccess Перенаправление Ошибка Страница

htaccess Перенаправление Ошибка Страница

Я знаю, что это распространенный вопрос, но я не уверен, почему это не работает на моем локальном хосте (WAMP).

Я хотел бы перенаправить ошибку 500 на свою страницу входа. Я попробовал следующее:

  • ErrorDocument 500 http://localhost/mysite/login.php
  • ErrorDocument 500 C:/wamp64/www/mysite/login.php
  • ErrorDocument 500 mysite/login.php
  • ErrorDocument 500 login.php

Ни один из них не смог перенаправить меня на страницу входа.

решение1

Я тестировал что-то в PHP. Я хотел проверить, что произойдет, если я отключу отчет об ошибках. Как и ожидалось, я получил ошибку 500. Я хотел бы настроить перенаправление для этого с помощью htaccess

Вы не можете определить ErrorDocument .htaccessдля обработки этой ситуации.

Сам PHP вернет пустой ответ 500, если display_errorsон выключен и в вашем приложении возникает неустранимая ошибка.

Чтобы настроить/обработать этот ответ, вам необходимо определить свой собственный обработчик ошибок PHP. https://www.php.net/manual/en/book.errorfunc.php

(Но учтите, что если у вас фатальныйошибка синтаксического анализав вашем скрипте, то ваш обработчик ошибок, вероятно, все равно не будет вызван, но этого никогда не должно происходить на рабочем сервере.)

Не могли бы вы указать на какую-нибудь документацию по этому поводу?

К сожалению, у меня нет центральной точки отсчета для этого. Просто это так работает...

Apache ErrorDocument срабатывает только тогда, когда сам Apache инициирует ответ об ошибке. (Хотя пользовательский 500 ErrorDocument не будет срабатывать длявсеApache 500 отвечает, и если он определен поздно, .htaccessто, вероятно, вообще не будет многого ловить. Это должно быть определено в конфигурации сервера / виртуальном хосте.)

Для того, чтобы Apache ErrorDocument сработал, когда PHP отправил ответ, Apache должен перехватить и переопределить ответ - этого не происходит. Точно так же, как вы можете отправить 404 из вашего PHP-скрипта, Apache не перехватывает это, чтобы отправить ответ Apache 404.

Связанный контент