静态文件接收数据405错误NGINX解决方法

其实这个里边最重要的一个就是

代码片段
5 行
location ~ (.*\.json)
{
  root  /Data/code/wiki/;
  error_page 405 =200 $1;
}

这个的意思是将405错误重新指向200,也就是把405当作200来处理,并给405这个错误指定了root目录,这个目录其实就是和网站本来的目录一样就可以,当然不同的写法location和error_page 405 =200 $1也是要相应改变的哦~~ 这里就不做深入研究了~
ps:
这里的json的绝对路径是/Data/code/wiki/language,例如:/Data/code/wiki/language/languages.json
对于location这里的正则我就不说了,因为我也不是很懂,只是误打误撞能够使用了,哈哈,望大牛多多指点~

这样我们的wiki就能够正常的访问到我们的json文件格式的文件了,而且还可一接收数据~ 第一个方法是我实践过的是可以使用的.
方法二
网上还有一种方法说是可以解决的,但是我没试,有情趣的童鞋可以试试
修改源码,重新编译nginx,并覆盖原来的nginx的sbin目录

代码片段
1 行
vim src/http/modules/ngx_http_static_module.c

找到下边内容把他注释掉

代码片段
6 行
/*
if (r->method & NGX_HTTP_POST)  
{  
    return NGX_HTTP_NOT_ALLOWED;  
}
*/

然后按照原来的编译参数重新编译一边.
PS:只要make就可以了,不需要make install,然后把objs下的nginx文件复制到你原来的nginx安装目录的sbin下,替换原来的nginx程序即可.