2011-03-22 201 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();