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

Laravel中使用dingo/api持续出现404错误求助(附配置信息)

排查Laravel中Dingo API返回404的问题

结合你给出的配置信息,我整理了几个最可能导致404错误的排查点:

  • 缺失Dingo API服务提供者
    你贴出的config/app.php服务提供者列表里,没有注册Dingo的核心服务提供者。必须添加这一行到providers数组中:

    Dingo\Api\Provider\LaravelServiceProvider::class,
    

    这是Dingo API能正常工作的基础,没注册的话框架根本识别不了它的路由规则。

  • 路由定义方式错误
    Dingo API不能用Laravel默认的Route facade来定义路由,必须使用它自带的路由实例。你需要在routes/api.php(或者单独的Dingo路由文件)里这样写:

    $api = app('Dingo\Api\Routing\Router');
    
    $api->version('v1', function ($api) {
        $api->get('test', function () {
            return response()->json(['message' => 'Hello Dingo!']);
        });
    });
    

    如果还是用普通的Route::get(),Dingo的路由规则不会生效,自然返回404。

  • 配置/路由缓存未清除
    如果你之前运行过php artisan config:cache或者php artisan route:cache,修改.env或者路由文件后必须清除缓存才能生效:

    php artisan config:clear
    php artisan route:clear
    

    缓存会保留旧的配置和路由规则,导致新的设置不生效。

  • 请求URL不符合配置规则
    根据你的.env配置:

    API_PREFIX=api
    API_VERSION=v1
    正确的请求URL应该是http://你的域名/api/v1/你的接口路径,比如上面定义的test接口,要访问http://your-domain/api/v1/test。如果你的请求路径少了前缀或者版本号,肯定会返回404。

  • 服务器重写规则问题
    如果是Apache服务器,确保开启了mod_rewrite模块,并且项目根目录的.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,确保配置文件里有这一行:

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

    重写规则不正确的话,请求无法正确转发到Laravel的入口文件,也会返回404。

先按这个顺序排查,一般就能解决问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:04:56