Laravel 10.28路由调用出现404错误求助
Laravel 10.28 路由404错误排查方案
以下是针对你遇到的notes.rattrapage路由404错误的排查步骤:
确认路由已正确注册
执行命令查看所有已注册的路由:php artisan route:list在输出中查找名称为
notes.rattrapage的路由,确认其HTTP方法为GET,URI为notes/rattrapage。如果未找到该路由:- 检查路由是否定义在
routes/web.php文件中(而非api.php); - 确认路由没有被嵌套在未正确加载的路由组内(比如带前缀或中间件的组)。
- 检查路由是否定义在
排查路由顺序与冲突
Laravel路由按定义顺序匹配,若你的notes/rattrapage路由之前存在类似Route::get('notes/{param}', ...)的通配符路由,会优先匹配通配符路由导致当前路由无法命中。调整路由顺序,将notes/rattrapage放在通配符路由之前。验证中间件与用户状态
若该路由被包含在auth中间件组内,确保访问时用户已登录。未登录状态下Laravel会重定向到登录页,若登录页路由配置错误,也可能出现404。可以临时移除路由的auth中间件,测试是否能正常访问。检查服务器重写配置
- 若使用Apache,确认
public/.htaccess文件存在且包含Laravel默认的重写规则:<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Send Requests To Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule> - 若使用Nginx,确认站点配置中包含以下规则:
location / { try_files $uri $uri/ /index.php?$query_string; }
- 若使用Apache,确认
再次清除缓存
依次执行以下命令彻底清除各类缓存:php artisan cache:clear php artisan route:clear php artisan config:clear php artisan view:clear
内容的提问来源于stack exchange,提问作者The Duke
相关产品推荐
相关产品推荐

