Laravel on Nginx默认/ URI无效 - 需要“index.php” - Nginx配置问题?

问题描述 投票:0回答:1

我添加了一个位置块来从/ todos /的子URI(仅)提供Laravel应用程序

location /todos {
    try_files $uri $uri/ /todos/$query_string;
    index  index.php index.html index.htm;
    root /index.php;
    location ~ \.php$ {
        fastcgi_index index.php;
        fastcgi_read_timeout 300;
        fastcgi_pass   unix:/opt/bitnami/php/var/run/www.sock;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param SCRIPT_FILENAME /opt/bitnami/nginx/html/todos/public/index.php;
        fastcgi_param QUERY_STRING $query_string;
        include        fastcgi_params;
    }
}

但是转到/ todos / URI不起作用(提供403 Forbidden),它要求我实际输入“index.php” - 所以Laravel只适用于/todos/index.php。

我究竟做错了什么?

更新:工作配置:

location /todos {
    try_files $uri $uri/ /todos/index.php?$query_string;
    index  index.php index.html index.htm;
    root /opt/bitnami/nginx/html/todos/public/;
    location ~ \.php$ {
        fastcgi_index index.php;
        fastcgi_read_timeout 300;
        fastcgi_pass   unix:/opt/bitnami/php/var/run/www.sock;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param SCRIPT_FILENAME /opt/bitnami/nginx/html/todos/public/index.php;
        fastcgi_param QUERY_STRING $query_string;
        include        fastcgi_params;
    }
}
php laravel ubuntu nginx webserver
1个回答
1
投票

你的根需要是:

root $directory_of_your_index.php_file;

并在位置添加:

try_files $uri $uri/ /index.php?$query_string;
© www.soinside.com 2019 - 2024. All rights reserved.