Lumen + nginx =错误500,重写或内部重定向循环,同时内部重定向到" /index.php"

时间:2015-04-15 08:47:14

标签: redirect laravel nginx php lumen

我正在尝试设置基于Laravel组件构建的Lumen - “微框架”。在服务器端有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以使其正常工作?

1 个答案:

答案 0 :(得分:3)

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

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

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