【问题标题】:Nginx 405 not allowed to specific '.php'-fileNginx 405 不允许特定的“.php”文件
【发布时间】:2014-02-23 20:39:49
【问题描述】:

我遇到了 Nginx 的问题。我只是学习它,所以它不知道解决这个问题。

我的一个插件正在尝试发布到以“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;

}

【问题讨论】:

    标签: php configuration nginx


    【解决方案1】:

    这可能不是最好的方法,我仍在寻找使用 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% 确定这样做的安全隐患。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-19
      • 2015-09-08
      • 2017-06-29
      • 2020-02-04
      • 1970-01-01
      • 1970-01-01
      • 2020-03-19
      相关资源
      最近更新 更多