2011-03-22 51 views
0

我要做的就是在我的图片页面的最顶端的一些URL解析,输出任何东西之前:如果出错以任何理由PHP重定向503没有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,因为理想的网址将会回来,一旦我找到了E错误...

回答

2

试试这个:

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(); 
} 

它的一劈,但它应该工作

+0

它的工作原理。完善。谢谢! (以及我在此期间抬头的所有其他内容都不是btw。) – 2011-03-22 21:28:43

1

包括脚本文件,而不是重定向到它:

whack_error_to_log($e); 
$_GET['e'] = '503'; 
include 'error.php'; 
exit();