我遇到了Nginx的问题。我只是在学习它,所以它不知道解决这个问题。
我的一个插件试图POST到一个以'PHP'扩展名结尾的特定网址。 该文件不是文件夹根目录中的位置:' web '。但是在目录中: 网络/插件/ 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;
}
答案 0 :(得分:0)
这可能不是最好的方法,我仍然找到了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%肯定这样做的安全隐患。