You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 5.5页面无法访问异常问题技术求助

解决Laravel 5.5路由404问题的排查方案

我来帮你一步步拆解这个奇怪的404问题,大概率是路由匹配、服务器配置或者缓存的锅,咱们逐个排查:

1. 先查路由优先级冲突

这是最常见的原因——你有没有在/categories这条路由之前定义过类似 Route::get('/{slug}', ...) 这种通配符路由?

Laravel的路由是按定义顺序匹配的,如果通配符路由在前,它会把/categories里的categories当成slug参数丢给对应的控制器,要是控制器找不到对应资源,就直接返回404了。而/t/blog这种带前缀的路径不会被这个通配符命中,所以能正常加载。

解决办法:把/categories、/blog这类明确的路由,挪到所有通配符路由的前面,确保先匹配到具体路径。

2. 验证服务器重写规则

Laravel依赖URL重写把所有请求导向index.php,如果服务器配置不对,直接访问根路径下的路由就会404,带前缀的反而正常。

Apache环境

检查项目根目录的.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>

另外还要确认Apache的mod_rewrite模块已启用,并且虚拟主机配置里设置了AllowOverride All,否则.htaccess不会生效。

Nginx环境

检查Nginx配置文件,确保location /块里有正确的try_files规则:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

3. 清除路由缓存

如果你之前执行过 php artisan route:cache 生成了路由缓存,之后修改的路由不会自动更新——缓存里可能根本没有/categories这条路由,自然会404。

解决办法:执行这条命令清除缓存:

php artisan route:clear

开发环境建议不要用路由缓存,方便调试;生产环境更新路由后,记得重新执行route:cache。

4. 检查路由是否正确加载

执行 php artisan route:list,查看输出里有没有/categories这条路由,以及对应的控制器frontend\FrontendController@totalcategories是否正确。

如果看不到这条路由,说明路由没被加载:

  • 检查这条路由是不是写在了正确的路由文件里(比如routes/web.php);
  • 确认命名空间frontend\FrontendController是否正确,有没有拼写错误,控制器文件是否存在于app/Http/Controllers/frontend目录下。

5. 移除无效的路由条件

最后提个小细节:你的/categories路由没有定义slug参数,但加了->where('slug', '[\w\d\-\_]+'),这个条件是无效的,虽然不会直接导致404,但建议去掉它,避免后续混淆。


内容的提问来源于stack exchange,提问作者mafortis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:27:50