Lumen GET 请求 Return 404 错误

Lumen GET Requests Return 404 Error

define('ROUTE_BASE', 'lumen/public');

$app->get(ROUTE_BASE . '/', function () use ($app) {
    return $app->welcome();
});

$app->get(ROUTE_BASE . '/test', function () use ($app) {
    return 'test data : 123 abc !';
});

当我访问 'localhost/lumen/public/' 时,我可以看到 'lumen welcome page'。

但是如果我尝试访问 'localhost/lumen/public/test',我会收到以下错误。

Error: its not found(404).

Laravel 期望 public 目录是您域的 webroot。由于您的情况并非如此,因此您需要对 .htaccess.

进行一些更改
Options +FollowSymLinks
RewriteEngine On
RewriteBase /lumen/public

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

还值得注意的是,您可以使用路由组在 routes.php 中实现相同的功能,而不是使用常量。

$app->group(['prefix' => 'lumen/public'], function ($app) {
    $app->get('/', function ()  {
        //welcome
    });

    $app->get('test', function ()  {
        return 'test data : 123 abc !';
    });
});

你的 lumen 项目必须放在你的 localhost,domainvirtual host 的 webroot 中] 在不编辑 .htaccess 的情况下不在您的 webroot 的子文件夹中。 在浏览器中访问您的项目:http://lumen.laravel.dev not http://lumen.laravel.dev/public/

希望对您有所帮助。对不起我的英语:)