项目中的需求通过ajax响应静态资源,报告状态代码405,进行了问题的排除。
1 .首先
这是因为大多数web服务器(如Apache、IIS和Nginx )不允许静态文件响应开机自检请求
所以把开机自检请求变更为get请求即可
2 .更改为get请求后,发现仍报告405状态代码。 错误信息如下。
这个问题是由域之间引起的。 解决方法有三种:
a. 重定向405错误码到200
在nginx服务器{ }中添加以下内容: 路线是网站的路线
位置(.*\. JSON ) { root/data/web/cool null.com/www; 错误_ page 405=200 $ 1; } nginx reload就可以了
[ root @ gaingreatblort ] # curl-D1=1www.cool null.com/blo rt/1.JSON//现在可以将数据开机自检到静态文件中! b. 修改nginx源码,
源文件位于/nginx子目录/src/http/modules/ngx _ http _ static _ module.c中,可以找到以下代码:
if(r-methodngx_http_post ) { return NGX_HTTP_NOT_ALLOWED; }删除整个评论并重新编译make。 不需要生成安装。 将编译生成的nginx文件复制到sbin下的nginx文件中,然后重新启动nginx。