laravel配置路由会报404 Not Found
故障现象:
例如:配置了测试路由,正常访问"域名/user",应该返回“路由测试”,
Route::get('user', function(){
return '路由测试';
});
但是却出错,404 Not Found
原因及解决方法 (点击查看官方文档 )
>原因: “域名/user” 这种属于美化后的URL,正常应该是在前面要加上入口文件index.php,即通过“域名/index.php/user”访问。
>解决方法:
Apache
框架中自带的 public/.htaccess 文件支持隐藏 URL 中的 index.php,如过你的 Laravel 应用使用 Apache 作为服务器,需要先确保 Apache 启用了mod_rewrite 模块以支持 .htaccess 解析。
如果 Laravel 自带的 .htaccess 文件不起作用,试试将其中内容做如下替换:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Nginx
如果你使用的是 Nginx,使用如下站点配置指令就可以支持 URL 美化:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
配置好后重启Apache/Nginx验证