我要做的是在输出任何内容之前,在图片页面的顶部进行一些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 作为网址,我希望他看到 foobar.com/pictures/2134613514/nice-sunset ,因为一旦发现错误,该网址就会重新出现...
最佳答案
尝试这个:
try
{
// parse PATH_INFO, grab image from db, ...
}
catch (Exception $e) // if that goes wrong for any reason
{
whack_error_to_log( $e );
$_GET['e'] = 503;
include 'error.php';
exit();
}
它是一个hack,但它应该可以工作
关于php - PHP重定向503而不更改URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5397867/