php post nginx 400,Nginx静态文件响应POST请求 提示405错误的解决方法
例1:用linux下的curl命令發(fā)送POST請求給Apache服務(wù)器上的HTML靜態(tài)頁
[root@localhost ~]# curl -d 11=1 https://www.jb51.net/index.html
405 Method Not AllowedMethod Not Allowed
The requested method POST is not allowed for the URL /index.html.
Apache/1.3.37 Server at www.jb51.net Port 80
例2:用linux下的curl命令發(fā)送POST請求給nginx服務(wù)器上的HTML靜態(tài)頁
[root@localhost ~]# curl -d 11=1 https://www.jb51.net/index.htm
405 Not Allowed405 Not Allowed
nginx/1.2.0
但在有些應(yīng)用中,需要使靜態(tài)文件能夠響應(yīng)POST請求。
對于Nginx,可以修改nginc.conf配置文件,改變“405錯誤”為“200 ok”,并配置location來解決,方法如下:
server
{
listen? 80;
server_name www.jb51.net;
index index.html index.htm index.php;
root? /opt/htdocs;
if (-d $request_filename)
{
rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
}
error_page? 405 =200 @405;
location @405
{
root? /opt/htdocs;
}
location ~ .*\.php?$
{
include conf/fcgi.conf;
fastcgi_pass? 127.0.0.1:10080;
fastcgi_index index.php;
}
}
當然也可以修改nginx源代碼來解決
修改源代碼,重新編譯安裝nginx
編輯nginx源代碼
[root@localhost ~]# vim src/http/modules/ngx_http_static_module.c
修改: 找到下面一段注釋掉
/*
if (r->method & NGX_HTTP_POST)
{
return NGX_HTTP_NOT_ALLOWED;
}
*/
然后按照原來的編譯參數(shù),重新編譯安裝nginx,即可
總結(jié)
以上是生活随笔為你收集整理的php post nginx 400,Nginx静态文件响应POST请求 提示405错误的解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 菊花泡水喝的功效与作用、禁忌和食用方法
- 下一篇: 菊花枸杞决明子牛蒡茶的功效与作用、禁忌和