У меня есть пользовательская страница ошибки 404 и правило mod_rewrite.Если я получаю доступ к странице, которая не существует, я получаю свою страницу ошибки 404.Моя проблема в том, что если я выдаю заголовок 404 со своей страницы php, он не открывает мою страницу 404, вместо этого я получаю следующее:
Not Found
The requested URL /index.php was not found on this server.
Additionally, a 404 Not Found error was encountered while trying
to use an ErrorDocument to handle the request.
Это мой .htaccess:
RewriteEngine on
ErrorDocument 404 /errors/404.php
RewriteRule ^[A-Za-z0-9]{8}/$ /index.php
Это мой редирект из /index.php, который будет 404, только если ключ не существует.Ключ $ получается при разборе URL (например, http://localhost/aKeYCoDE/):
<?php
if (!key_exists($key)){
header('HTTP/1.0 404 Not Found');
exit;
}
?>
Я ожидаю, что он будет перенаправлен на мою страницу 404.
ОБНОВЛЕНИЕ:
Это определенно кое-что о том, что я звоню 404 со страницы, которая была переписана (/index.php). Если я создаю фиктивную страницу: /redirect.php, а затем ничего не делаю, только выдаю 404 изтам я получаю свою пользовательскую страницу 404. Но если я напишу для нее правило mod_rewrite и попытаюсь получить к нему доступ таким образом, я получу страницу ошибки по умолчанию 404.