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

 时间:2024-10-31 17:42:08

1、server { listen 80; server_name www.wiki.com; root /Data/code/wiki/; index index.php index.html index.htm; location ~* ^.+\.(jpg|jpeg|png|ico|gif|css|js)$ { access_log off; expires 30d; } location ~ (.*\.json) { root /Data/code/wiki/; error_page 405 =200 $1; } 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; }}其实这个里边最重要的一个就是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文件格式的文件了,而且还可一接收数据~第一个方法是我实践过的是可以使用的.

2、网上还有一种方法说是可以解决的,但是我没试,有情趣的童鞋可以试试修改源码,重新编译nginx,并覆盖原来的nginx的sbin目录vim src/http/modules/ngx_http_static_module.c找到下边内容把他注释掉/*if (r->method & NGX_HTTP_POST) { return NGX_HTTP_NOT_ALLOWED; }*/然后按照原来的编译参数重新编译一边.PS:只要make就可以了,不需要make install,然后把objs下的nginx文件复制到你原来的nginx安装目录的sbin下,替换原来的nginx程序即可.

  • Ubuntu 14.04 FTP服务器--vsftpd的安装和配置
  • 非root用户如何判断是否有sudo权限
  • Oracle如何给新建的用户授权
  • 两台Linux主机如何建立ssh信任关系?
  • plsql的安装方法
  • 热门搜索
    科技手抄报版面设计图 三爱三节手抄报图片 廉洁教育手抄报 神话故事手抄报图片 争创文明城市手抄报 关于邪教的手抄报 中国神话故事手抄报 成语故事手抄报图片 爱护眼睛手抄报 感恩老师手抄报图片