为什么 laravel api.php 路由会出现 404 错误?

为什么 laravel api.php 路由会出现 404 错误?

我在 Ubuntu 18.04 中使用 laravel 5.8.24,这是我第一次编写 API。我将在这里添加一个测试代码。

路线/api.php

Route::get('/api',function(){
    return "Test api";
});

当我去http://my_localhost_link/api它时出现 404 错误

路线routes/web.php运行正常。

有人能告诉我我错过了什么或者出了什么问题吗?谢谢。

答案1

如果您启用 mod_rewrite 选项,则可以从 apache 中解决此问题。因此您需要运行

sudo a2enmod rewrite

文件 /etc/apache2/apache2.conf 中的变化

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

重新启动apache:

sudo service apache2 restart

答案2

因为route/api.php,您需要/api/向您的添加前缀uri

例如:

Route::get('/api',function(){
    return "Test api";
});

你需要打电话http://my_localhost_link/api/someroute

答案3

你运行了php artisan serve --port 8000命令吗?服务的默认中间件是 /api。你的网址也是 /api。运行命令并打开http://localhost:8000/api/api

答案4

laravel api 路由有困难api您可以更改/删除它的前缀应用程序/提供商/RouteServiceProvider.php

   $this->routes(function () {
        Route::prefix('api') <-HERE
            ->middleware('api') 
            ->namespace($this->namespace)
            ->group(base_path('routes/api.php'));

你也可以运行

php artisan route:list

相关内容