apache — Как я могу перенаправить на 404.php, когда страница на самом деле не существует?

У меня есть перенаправление 404 в моем файле .htaccess:

ErrorDocument 404 /404.php

Это работает нормально, когда я пытаюсь получить доступ к странице, которая на самом деле не существует на моем сервере.

Проблема в том, что когда я возвращаю свой собственный статус HTTP 404 на странице, которая действительно существует на сервере, он не перенаправляет меня на страницу 404.php, но браузер отображает стандартную ошибку 404.

Я возвращаю свой собственный статус HTTP 404, когда у меня, например, неверный параметр URL.

Можете ли вы помочь мне определить правило в файле .htaccess, пожалуйста?

0

Решение

в вашем .htaccess файл вы должны иметь это правило

RewriteEngine On
ErrorDocument 404 /404.php

и если вы хотите смоделировать эту ошибку в любом месте, кроме ввода ее вручную в заголовке, вы должны использовать http_response_code

Код PHP

<?php
http_response_code(404);
include('my_404.php'); // provide your own HTML for the error page
die();
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]