【问题标题】:Laravel on Nginx default / URI not working - requires "index.php" - Nginx config issue?Nginx 默认 / URI 上的 Laravel 不起作用 - 需要“index.php” - Nginx 配置问题?
【发布时间】:2019-08-07 16:15:06
【问题描述】:

我添加了一个位置块,以便从 /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】:

    你的根需要是:

    root $directory_of_your_index.php_file;
    

    并在位置添加:

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

    【讨论】:

    • 谢谢!使用工作配置更新了问题。
    猜你喜欢
    • 2020-10-19
    • 1970-01-01
    • 2018-01-14
    • 2017-02-17
    • 2016-11-29
    • 2021-07-14
    • 2018-11-25
    • 1970-01-01
    • 2014-06-03
    相关资源
    最近更新 更多