我的环境是 LNMP 部署的 wordpress,在 wordpress 后台新建页面再输入标题的时候,报错如下
通过使用 google 检查工具查看到一个链接地址为 405 状态码,且为 post 请求链接,然后开始查询 405 所代表的问题。最终定位结论为 Nginx 默认是不允许 post 访问静态资源。
405 表示 Not Allowed
网络上的解决方法五花八门,我这里采用了,最简单最直接的方法,错误重定向,将访问到的 405 界面定位到正确的 URI 路径,并将状态码修改为 200
找到 nginx 配置文件,在该站点的 server 下添加,重启 nginx 即可。
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 404 /404.html;
error_page 403 /403.html;
# To allow POST on static pages
error_page 405 =200 $uri;
# ...
}
我这里遇到的 405 是可以通过 这种方式解决的,希望可以帮助到来访者。
如果是公司的开发调试时做了对 nginx 静态资源做 post 请求的动作,最终还要:说服开发不要对静态文件使用 post 方法,对静态文件使用 POST 方法是无意义的,更改成 GET 方法请求静态文件。