Моя страница ошибок является PHP файлов, полнота которыхизбежать 302 редиректа при настройке нескольких страниц 404
<?php
$path_parts = pathinfo($_SERVER['REQUEST_URI']);
$parts = explode('/', $path_parts['dirname']);
if (in_array("abcde", $parts))
{
header('Location: https://example.com/vwxyz/abcde-error-page.php');
exit();
}
else
{
header('Location: https://example.com/vwxyz/error-404-page.php');
exit();
}
?>
Я хочу, чтобы пользователи, которые идут к несуществующему URL в «ABCDE» директории см. конкретную страницу с ошибкой, а URL должен быть https://example.com/vwxyz/abcde-error-page.php, а код состояния должен быть 302. Это работает нормально.
Я хочу, чтобы пользователи, которые идут в любой другой несуществующей URL (в директории «VWXYZ», или где-нибудь еще на example.com), чтобы видетьhttps://example.com/vwxyz/error-404-page.php, но для кода 404 состояния должны быть возвращены, и URL в своем браузере все равно должен быть тем, на что они ошибочно вводили. Конечно, это не работает с заголовком («Местоположение ... и я не могу использовать file_get_contents или include, потому что результат опустошает корзину покупок и выводит пользователя (если они вошли в систему).
Я чувствую, что есть более простой способ иметь несколько страниц 404 без редактирования файла .htaccess (хотя этот аргумент, вероятно, быть сделано, что это действительно простой способ).И очень важно, чтобы главная страница ошибки отображалась как обычная страница с ошибкой, а другая (для каталога «abcde») была перенаправлением и что эта специальная страница ошибки для каталога «abcde» НЕ находится в этом каталоге (пользователь перенаправляется из каталога, а затем показывает страницу «ошибка», которая НЕ должна возвращать статус 404).
* "Я чувствую, что есть более простой способ, чтобы иметь несколько 404 страниц без редактирования файла .htaccess (хотя этот аргумент будет вероятно, будет сделано, что это действительно более простой способ). * ... yup, я уверен, что это будет 3 строки .htaccess – CD001