我正在開發一個RESTful API,並且我寫了一個mod_perl2處理程序來處理請求。通過設置$r->status($http_code)
和return $http_code;
如何禁止mod_perl中的默認apache錯誤文檔?
一切都與錯誤代碼
我處理的交易是很好,除了一個小問題:當我的HTTP_CODE是不同於200(例如404),阿帕奇追加一個默認的HTML錯誤文件到我的自己產生的迴應。
例如:
GET /foo
給出:
$VAR1 = bless({
'status' => 404,
'data' => {},
'message' => 'Resource not found for foo'
}, 'My::Response');
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /foo was not found on this server.</p>
<p>Additionally, a 404 Not Found
error was encountered while trying to use an ErrorDocument to handle the request.</p>
<hr>
<address>Apache/2.0.54 (Fedora) Server at localhost Port 80</address>
</body></html>
如何擺脫這個阿帕奇生成的HTML?
更新:我的錯。我的mod_perl2處理程序正在返回一個HTTP_ *代碼,而不是Apache2 :: Const :: OK。
當阿帕奇::常量不支持像201 HTTP狀態代碼,你會如何解決這個問題,在Apache 1.3而mod_perl 1.XX? – 2011-06-01 03:51:12