я выполняю парсинг URL в самом верху моей страницы с картинкой, прежде чем что-то выводить:
foobar.com/pictures.php/2134613514/nice-sunset
Если что-то пойдет не так по какой-либо причине, я хочу отправить пользователя на мою страницу с ошибкой.
Для 404, 403 и т. Д. Я перенаправляю на ту же страницу, используя .htaccess, что легко:
ErrorDocument 401 /error.php?e=401
ErrorDocument 402 /error.php?e=402
ErrorDocument 403 /error.php?e=403
Итак, что я делаю в pictures.php:
try
{
// parse PATH_INFO, grab image from db, ...
}
catch (Exception $e) // if that goes wrong for any reason
{
whack_error_to_log( $e );
header("Location: /error.php?e=503");
exit();
}
Меня поразило то, что пользователь увидит foobar.com / error.php? E = 503 в качестве URL, я бы хотел, чтобы он увидел foobar.com / pictures / 2134613514 / nice-sunset , поскольку в идеале этот URL будет возвращаться, как только я обнаружу ошибку ...