Lumen 5.5 总是出现 404 错误

Mic*_*ael 1 php apache laravel lumen

当我尝试输入 [mydomain.com] 时,我看到默认版本页面:

Lumen (5.5.2) (Laravel Components 5.5.*)
Run Code Online (Sandbox Code Playgroud)

当我尝试输入 [mydomain.com]/api/user 时,收到 404 错误。

我的 web.php 如下所示:

$router->get('/', function () use ($router) {
    return $router->app->version();
});

$router->group(['prefix' => 'api'], function () use ($router) {
    // show
    $router->get('user', 'UserController@show');
});
Run Code Online (Sandbox Code Playgroud)

我缺少什么?有人可以帮忙吗?

Mic*_*ael 6

I\xc2\xb4m 仍然不能 100% 确定为什么会发生这种行为,因为在同一台服务器上,即使在我完美修复之前,另一个流明项目也在工作,但我找到了原因:

\n\n

该问题取决于重写引擎的问题。\xc2\xb4s 很容易找出你是否有同样的问题。如果您在每个路线上都收到 404,除了"/"尝试添加"index.php"您的 URL(例如:domain.com/index.php/user而不是domain.com/user)。如果现在可以使用该路由,您可以检查您的 apache 配置并进行更改

\n\n
<Directory /var/www/>\n    Options Indexes FollowSymLinks\n    AllowOverride None\n    Require all granted\n</Directory>\n
Run Code Online (Sandbox Code Playgroud)\n\n

\n\n
<Directory /var/www/>\n    Options Indexes FollowSymLinks\n    AllowOverride All\n    Require all granted\n</Directory>\n
Run Code Online (Sandbox Code Playgroud)\n\n

此外,您可以通过将以下行添加到lumen 项目的文件夹.htaccess内来检查您的重写引擎是否运行良好:\\public

\n\n
<IfModule mod_rewrite.c>\n  Redirect 301 / https://google.com\n  [...]\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果您\xc2\xb4在请求任何路由时未重定向到google,则需要检查您的配置。

\n