Я пытаюсь настроить люмен — «Микро-каркас» построен на основе компонентов 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, чтобы он работал?
root
опция должна указывать на публичный каталог:
server {
server_name lumen.dev;
root /var/www/lumen/public;
Ошибка появляется, потому что он пытается позвонить /index.php?$query_string
который относительно корня. Так он пытается найти /var/www/lumen/index.php
в бесконечной петле.
Других решений пока нет …