Lumen 5.5 总是出现 404 错误
Lumen 5.5 always getting 404 error
当我尝试输入 [mydomain.com] 时,我看到了默认版本页面:
Lumen (5.5.2) (Laravel Components 5.5.*)
当我尝试输入 [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');
});
我错过了什么?有人可以帮忙吗?
我仍然不是 100% 确定为什么会发生这种行为,因为在同一台服务器上,一个额外的 lumen 项目甚至在我完美修复之前就已经工作了,但我找到了原因:
问题取决于重写引擎的问题。如果您有同样的问题,很容易发现。如果您在除 "/"
之外的每条路线上都收到 404,请尝试在 URL 中添加 "index.php"
(例如:domain.com/index.php/user
而不是 domain.com/user
)。如果现在可以使用该路由,您可以检查您的 Apache 配置并更改
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
到
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
此外,您可以通过将以下行添加到流明项目 \public
文件夹内的 .htaccess
来检查您的重写引擎是否正常工作:
<IfModule mod_rewrite.c>
Redirect 301 / https://google.com
[...]
如果您在请求任何路由时没有被重定向到 google,您需要检查您的配置。
当我尝试输入 [mydomain.com] 时,我看到了默认版本页面:
Lumen (5.5.2) (Laravel Components 5.5.*)
当我尝试输入 [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');
});
我错过了什么?有人可以帮忙吗?
我仍然不是 100% 确定为什么会发生这种行为,因为在同一台服务器上,一个额外的 lumen 项目甚至在我完美修复之前就已经工作了,但我找到了原因:
问题取决于重写引擎的问题。如果您有同样的问题,很容易发现。如果您在除 "/"
之外的每条路线上都收到 404,请尝试在 URL 中添加 "index.php"
(例如:domain.com/index.php/user
而不是 domain.com/user
)。如果现在可以使用该路由,您可以检查您的 Apache 配置并更改
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
到
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
此外,您可以通过将以下行添加到流明项目 \public
文件夹内的 .htaccess
来检查您的重写引擎是否正常工作:
<IfModule mod_rewrite.c>
Redirect 301 / https://google.com
[...]
如果您在请求任何路由时没有被重定向到 google,您需要检查您的配置。