Klein PHP路由不起作用

时间:2015-05-22 10:12:12

标签: php

我有一个应用程序的开头,我从另一个选择Klein作为路由框架的开发人员那里学到了。我对Slim更熟悉,但仍然为我的生活无法弄清楚为什么以下不起作用:

$klein->respond('GET', '/?', function($request, $response) {
    echo 'this works!'
});
$klein->respond('GET', '/[i:id]', function($request, $response) {
   echo 'This returns 404 not found';
});
$klein->dispatch();

的.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /index.php [L] 

在我的httpd.conf中,我有“AllowOverride All”

我确信这是非常直接的,但对于我的生活,我无法弄清楚为什么第二条路线不起作用。

1 个答案:

答案 0 :(得分:1)

考虑两个路由模式。

'/?'路由模式匹配scheme:hostschema:hostname//是可选的。

/[i:id]路由模式匹配scheme:host/id,其中id是整数。

除非为更新此路由模式以匹配这种情况,否则用/(例如scheme:host/2/)终止后面的路由模式的请求uri将不匹配。

为了匹配这种情况,请将/[i:id]/?用作路由模式。