繁体   English   中英

Nginx 405不允许使用特定的'.php'文件

[英]Nginx 405 not allowed to specific '.php'-file

我对Nginx有问题。 我只是在学习它,所以它不知道解决此问题。

我的一个插件尝试发布到以“ PHP”扩展名结尾的特定URL。 该文件不在文件夹根目录“ web ”中。 但在目录中: web / plugins / moxiemanager / api.php 但我总是收到405。

我必须更改什么配置?

提前致谢。

我的Nginx配置:

server {
   listen 80;
   server_name kevin.dev;
   root /var/www/html/kevin/web;

location / {
    try_files $uri @rewriteapp;
}

location @rewriteapp {
    rewrite ^(.*)$ /app.php/$1 last;
}

location ~ ^/(api|app|app_dev|config)\.php(/|$) {
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 256k;
    fastcgi_busy_buffers_size 256k;
    #fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param HTTPS off;
}

error_log /var/log/nginx/kevin_error.log;
access_log /var/log/nginx/kevin_access.log;

}

这可能不是最好的方法,但是我仍然可以通过nginx找到自己的方法,但是它现在对我有用。

我复制了app.php的现有位置块以覆盖moxia脚本,因此对我来说,添加此功能确实有效...

location ~ moxiemanager/api.php$ {
    fastcgi_pass   unix:/var/run/php5-fpm.sock;
    fastcgi_split_path_info ^(.+\.php)(/.*)$;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param SERVER_PORT 80;
    include        /etc/nginx/fastcgi_params;
}

涵盖以moxiemanager / api.php结尾的网址。 不过,我不确定100%这样做的安全性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM