【サーバ】「nginx delete put 405 method php fastcgi http crud メソッド」でお困りの方へ
nginx と fastcgi 環境で HTTP メソッドの DELETE や PUT を使おうとしても、「405 Method Not Allowed」 となっていました。 自分の設定がおかしいのかもですが、index ディレクティブ で php を動かしている場合だとダメっぽい。
# http://example.com/ へ DELETE, PUT メソッドを投げるとエラー
location / {
root /home/example.com/public_html/;
index index.php index.html index.htm;
}
index を利用するのは諦めて、 FastCGI の設定を記載すると DELETE, PUT メソッドが使えるようになりました!あくまで応急処置なので、他に良い方法あれば教えて下さい。
# DELETE, PUT メソッドが利用できるようになる。
location / {
root /home/example.com/public_html/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}