HTTP/1.1 405 Method not allowed

PS:偶然兴趣接触了一下easyui和DWZ等轻量级WEB前端JavaScript框架,一个phper只要懂点js就能快速的搭建完成对于一些简单的站点后台.但是在lnmp环境运行查看easyui的demo的时候,请求却一直无法获取到json文件数据,显示405错误.

  1. 405出现的原因

    Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回“HTTP/1.1 405 Method not allowed”错误。

  2. 三种解决方案

    1.重定向 405 错误码到 200

            server {
                listen       80;
                server_name  www.test.loc;
                root  /mnt/hgfs/vmhtdocs/phmagick/;
                index index.php index.html index.htm;
                #
                #通过查找路径去匹配指向,重定向405错误码到200
                #root 路径和环境的路径一样即可
                location ~ ^/(jquery-easyui-1.3.2/demo)/ {
                    root /mnt/hgfs/vmhtdocs/phmagick/;
                    error_page 405 =200 $uri;
                }
                #
                location ~ \.php {
                    fastcgi_pass   127.0.0.1:9000;
                    fastcgi_index  index.php;
                    include        fastcgi_params;
                    fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
                    fastcgi_param  PATH_INFO        $fastcgi_path_info;
                    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                }
            }
            

    2. 修改 Nginx 源码
    源码文件位于 /nginx源码目录/src/http/modules/ngx_http_static_module.c ,找到如下代码:

                if (r->method & NGX_HTTP_POST) {
                     return NGX_HTTP_NOT_ALLOWED;
                }
            

    整段注释掉,然后重新编译make,不要make install,然后把编译生成的nginx文件复制到sbin下的 nginx 文件,重启 nginx 即可

总结:
Apache、IIS、Nginx等绝大多数web服务器,都不允许静态文件响应POST请求,否则会返回“HTTP/1.1 405 Method not allowed”错误。


参考:
1.DWZ富客户端框架官网
2.easyui官网
3.Nginx 静态文件中的 POST 请求返还 405 Method not allowed 错误

相关文章
  1. 对Web静态资源缓存自动更新的思考与实践的总结
  2. gearman应用-分布式图库系统设计
  3. Nginx重定向[Rewrite]配置及示例
  4. Nginx使用的php-fpm的两种进程管理方式及优化
  5. Nginx配置参数中文说明
  6. Nginx(PHP/fastcgi)的PATH_INFO配置
本站版权
1、本站所有主题由该文章作者发表,该文章作者与尘埃享有文章相关版权
2、其他单位或个人使用、转载或引用本文时必须同时征得该文章作者和尘埃的同意
3、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
4、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
5、原文链接:
二维码
Posted in Nginx, web服务器

发表评论