9月 262011
 
シェアする

 

Method Not Allowed
The requested method POST is not allowed for the URL /*****.

上記エラーは、対象のURLに対してのPOST許可されていないという意味。

POSTができない理由はなにか

対象のファイルをPHPまたはCGIと仮定

拡張子はPHPやCGI用のもの(.pl/.cgi/.php)で間違いないですか?

PHPファイルを.html拡張子のまま処理させるには、
「.html」で終わるファイルを「PHPファイルですよ」とサーバーに教えて上げる必要があります。

それには、同じディレクトリまたは上位ディレクトリに.htaccessを設置し、以下の一行を追加しましょう。

AddHandler application/x-httpd-php .php .html

対象がCGIファイルの場合は、以下をご確認ください。

・設置している場所でCGIファイルを実行できる設定になっているか
・対象ファイルに十分な実行権限(x)が付与されているか

CGIファイルを実行できる設定になっているかは、テスト用のCGIを設置し動作確認しましょう。

#!/usr/bin/perl #Perlのパス
print "Content-type: text/plainnn";
print "Hello mother" 

なお、CGIファイルの実行が許可されていない(.cgi/.plをCGIとして認識しない)ディレクトリにCGIを設置した場合は以下の記述を.htaccessファイルとして設置してください。

Options +ExecCGI
AddType application/x-httpd-cgi .cgi .pl 

 なお、このエラーはApache1.3.xで確認できるものです。Apache2.xに関してはPOSTができなくても得られる情報のみ取得して問題なく終了しますが、希望のPHPやCGIによる処理は行われません。

このエントリーをはてなブックマークに追加

コメント大歓迎!質問も受け付けておりますヽ(*´∀`)ノ