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による処理は行われません。
コメント