流明路由不起作用

时间:2017-02-26 16:21:06

标签: php routing apache2 lumen

这是我的路由代码:

$app->get('/foo', function () {
    return 'Hello World';
});
$app->get('/', function(){
    return 'asd';
});

问题是我总是在页面上得到“asd”,即使我访问了一些不存在的随机路由。因此,如果我访问localhost / sadgasgasdgsa,我将在页面上显示'asd'。当我访问localhost / foo时,我也得到'asd','Hello World'的瞬间。任何想法我的问题是什么?

注意: 这似乎是同一个问题: Lumen routes not working other than '/' route 然而,没有人回答这个问题。我的服务器确认简单的WAMP,php 7,apache2和mysql。在搜索解决方案时,我添加了以下.htaccess文件:

Options +FollowSymLinks
RewriteEngine On

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

然而它不起作用 编辑 对于那些带着搜索引擎来到这里的人,我已经对流明的版本进行了评分,并开始工作。

1 个答案:

答案 0 :(得分:1)

从流明5.3升级到5.4并且遇到同样的问题,只有'/'路线有效。

挖掘显示我已经破解了代码作为Lumen 5.2中早期问题的解决方案,根据这个流行的answer修复了。

问题出在bootstrap / index.php中:

$app->run($app->make('request'))

作为Laravel 5.2问题的修复而添加的输入参数$app->make('request')创建了一个缺少实际请求数据的空请求对象。这就是为什么默认的'/'被踢了,请求对象没有任何路径信息。

我查看了github中的原始public/index.php文件,$app->run()没有任何参数。当我删除$app->make('request')输入参数时,应用程序就开始工作了。

相关问题