Phalcon和Nginx - 下载php文件而不是在第一级执行

时间:2017-09-26 06:27:10

标签: php nginx download phalcon slash

我遇到Nginx和Phalcon配置问题。

这是我的服务器块:

server {
    listen      80;
    server_name testapp.dev;
    root        /srv/http/testapp/public;
    index       index.php index.html index.htm;
    charset     utf-8;

    location / {
        try_files $uri/ /index.php?_url=$uri&$args;
    }

    location ~ \.php$ {
        fastcgi_index index.php;    
        fastcgi_pass unix:/run/php-fpm/php-fpm.sock;

        include fastcgi_params;
        fastcgi_param PATH_INFO       $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ~ /\.ht {
        deny all;
    }
}

来自Phalcon网站:https://olddocs.phalconphp.com/en/3.0.0/reference/nginx.html

一切正常,直到我没有像这样进入浏览器地址(当有"测试"模块)时:testapp.dev/test。但是当我通过testapp.dev/test/testapp.dev/test/parttestapp/test/part/时,它会有效。

有趣的是,如果我输入不存在的模块名称,例如:testapp.dev/test2,它会执行索引文件并显示模块定义路径不存在的错误。

总结如上:

  • testapp.dev/test - 无法正常工作
  • testapp.dev/test/ - 正在工作
  • testapp.dev/test/part - 正在工作
  • testapp.dev/test/part/ - 正在工作
  • testapp.dev/test2 - 模块不存在,但索引正在执行,因此,它正在运作
  • testapp.dev/test2/ - 如上所述......

当我进入:testapp.dev/index.php?url_=/test它正在工作。

首先想到 - 我应该尝试在try_files指令的末尾添加/,但是当我插入它时,它也不起作用。

我也尝试了这个: Phalcon and nginx - framework run only indexController。它就像上面那样......

此外,我试图添加这样的尾部斜杠:https://serverfault.com/questions/645667/php-file-downloaded-instead-of-executed-with-nginx-try-files,但没有成功。

0 个答案:

没有答案