![](/img/trans.png)
[英]HTTP PUT/DELETE not working for Apache2, Passenger, Rails 4
[英]Apache2 - Handling HTTP PUT
我有一個運行服務器的apache2,可以很好地處理復雜的目錄結構。 在大多數目錄的末尾,我有一個perl文件('index.pl'),該文件可處理所有GET&POST命令(我需要動態文件)。
現在,我希望index.pl也處理“ PUT”命令,但是每當我嘗試發送“ PUT”命令時,我都會得到405。如果啟用DAV,則PUT命令不會執行perl腳本,而只是將目錄中的文件。
現在,我知道這不是PUT命令的常用用法-事實是,我正在為處理PUT命令的非常復雜的Web服務編寫備份服務器(因此,我也需要這樣做)。
謝謝!
在index.pl文件中,您需要執行以下操作:
$method = $ENV{'REQUEST_METHOD};
$data = '';
$buffer = '';
if ( $method eq 'PUT' ) {
sysread(STDIN, $data, $length);
while( length($data) < $length ) {
last unless sysread(STDIN, $buffer, 4096);
$data .= $buffer;
}
# You now have your PUT data in the $data variable.
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.