流明GET请求返回404错误

时间:2015-12-02 04:39:48

标签: php lumen

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欢迎页面'。

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

  

错误:未找到(404)。

2 个答案:

答案 0 :(得分:1)

Laravel希望公共目录成为您域名的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 !';
    });
});

答案 1 :(得分:0)

您的流明项目必须放在 localhost 虚拟主机的webroot中,而不是在您的webroot的子文件夹中,而无需编辑您的。 htaccess的。 用于在浏览器中访问您的项目: http://lumen.laravel.dev 而非 http://lumen.laravel.dev/public/

我希望这有帮助。对不起我的英文:)