[英]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.