[英]mod_perl How to return 511 status?
我正在為Apache2編寫perl處理程序。
這是我的配置:
PerlModule xxx::andsf
<Location / >
SetHandler perl-script
PerlHandler xxx::andsf
PerlSendHeader On
</Location>
我的處理程序需要返回到客戶端511 HTTP狀態代碼。 您可以在此處閱讀有關511的信息:
如果我的代碼返回505; 我收到不支持的正確狀態505 HTTP版本 。 但是,如果我把收益511; 我得到500-內部服務器錯誤。 看來Apache忽略了奇怪的錯誤代碼。
有什么想法如何返回511嗎?
更新處理程序的代碼:
package xxx::andsf;
use Apache2::Const
qw( :common );
use Apache2::RequestRec ();
use Apache2::RequestIO ();
sub handler {
my $r = shift;
$r->status_line("511 Network Authentication Requred");
return Apache2::Const::OK;
}
1;
ModPerl 2?
您可以使用$r->status_line("511 Network Authentication Requred")
,然后返回Apache2::Const::OK
(0)
請參閱: http : //perl.apache.org/docs/2.0/api/Apache2/RequestRec.html#C_status_line_
我解決了這個問題。 它與ModPerl2無關,但與Apache本身無關。 對於僅受Apache 2.4影響的這不是問題。 在查看Apache 2.2源代碼並修補了一些行以接受511(您可以從Apache 2.4的源復制/粘貼這些行)之后,它會正確開始返回代碼511。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.