laravel路由404问题
laravel路由404问题
laravel路由404问题
起因: 加了路由访问http://www.blog.com/user/add一直404 原因是因为我们在配置文件里面写的根目录是D:/sofeware/phpstudy/phpstudy_pro/WWW/blog/public 只到public目录下。 所以需要这样访问
http://www.blog.com/index.php/user/add
或者需要在vhosts.conf加入
try_files $uri $uri/ /index.php?$query_string;
就可以访问http://www.blog.com/user/add
在 Nginx 配置中添加 try_files $uri $uri/ /index.php?$query_string; 是为了确保当访问的 URL 在服务器上找不到对应的文件时,将请求转发给 Laravel 的入口文件 index.php 进行处理。
解释一下这个配置的作用:
try_files $uri $uri/ 部分表示首先尝试直接访问请求的文件,如果文件不存在,则尝试访问以请求的文件为前缀的目录。
/index.php?$query_string 部分表示如果以上尝试都失败,则将请求转发给 index.php 文件进行处理,并将查询字符串(如 GET 参数)一并传递。
这样的配置可以确保 Laravel 应用程序的所有请求都被路由到 index.php 文件进行处理,无论是访问具体的文件还是目录。
如果没有添加这个配置,访问 Laravel 应用程序时会出现 404 错误,因为服务器无法找到匹配的文件或目录来处理请求。
添加 try_files $uri $uri/ /index.php?$query_string; 配置后,Nginx 会首先尝试匹配实际的文件或目录,如果找不到,则将请求转发给 Laravel 的 index.php 文件,由 Laravel 框架来处理请求并响应正确的内容。
请确保在配置文件中正确设置了 root 和 index,并按照实际情况调整了 PHP-FPM 的相关配置,以便 Nginx 正确地传递请求给 PHP 处理。
这样,通过添加 try_files $uri $uri/ /index.php?$query_string; 配置,您应该能够正常访问 Laravel 应用程序了。
发表评论