3

我正在尝试设置Lumen - 建立在 Laravel 组件之上的“微框架”。在服务器端有 nginx + php-fpm。

这是我的 nginx 配置:

server {
    server_name lumen.dev;
    root /var/www/lumen;

    location / {
        include         /etc/nginx/fastcgi_params;
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_NAME      /index.php;
        fastcgi_param   SCRIPT_FILENAME  /var/www/lumen/public/index.php;

        try_files $uri $uri/ /index.php?$query_string;
    }
}

当我调用定义的路由时,此配置工作正常,例如我看到“流明”。打开http://lumen.dev时的响应。但是当我尝试打开像http://lumen.dev/404这样的未定义路由时,我在浏览器中看到“500 Internal Server Error”,并且在 nginx 错误日志中看到这条消息:

内部重定向到“/index.php”时重写或内部重定向循环,客户端:127.0.0.1,服务器:lumen.dev

如何修复我的 nginx conf 以使其正常工作?

4

1 回答 1

3

root选项必须指向公共目录:

server {
    server_name lumen.dev;
    root /var/www/lumen/public;

出现错误是因为它试图调用/index.php?$query_string与根相关的。所以它试图/var/www/lumen/index.php在一个无限循环中寻找。

于 2015-04-15T10:58:26.040 回答