Nginx 静态页面POST 请求提示405 Not Allowed

从git上cp了一个开源的前端框架lay Ajax版本,用Nginx配置访问首页没问题

nginx配置如下:

server
{
listen ;
server_name adminhtml.com;
index index.html index.htm index.php;
root /home/wwwroot/adminhtml;
autoindex on;
include enable-php.conf;
access_log /home/wwwlogs/access.log;
}

但点击菜单(ajax实现),浏览器提示

Nginx: 405 Not Allowed

猜了下估计是ajax post的问题,搜索后果然

nginx是不允许post访问静态资源

------------------------------

解决办法

将405状态指向200 ok

配置Nginx如下:

server
{
listen ;
server_name adminhtml.com;
index index.html index.htm index.php;
root /home/wwwroot/adminhtml;
location ~ .*\.(htm|html|gif|jpg|jpeg|png|ico|css|js|txt|flv|doc)$ {
error_page = $uri;
}
autoindex on;
include enable-php.conf;
access_log /home/wwwlogs/access.log;
}

记得重启Nginx

 service nginx reload

注意: 当允许访问目录时

autoindex  on;

要加编码,否则,如果目录或文件有中文就会显示乱码,so, 要加一行代码

charset utf-,gbk;
上一篇:LINQ to SQL和Entity Framework对比与关联 (转载)


下一篇:详细解释 集成Maven Spring Mybatis项目包生成Bat文件