为了解决 Slim 4 的问题,我这样做了:
1/ 就在之后
$app = AppFactory::create();
我补充道:
$app->setBasePath("/myapp/api"); // /myapp/api is the api folder (http://domain/myapp/api)
2/在我的.htaccess中:
RewriteEngine on
RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule ^api/(.*)$ api/index.php/$1
3/最后为了处理“HttpNotFoundException”Slim异常,我添加了一个try/catch(我不知道为什么Slim不内部处理它=>也许是为了给我们更多的可能性?)
try {
$app->run();
} catch (Exception $e) {
// We display a error message
die( json_encode(array("status" => "failed", "message" => "This action is not allowed")));
}
希望它能有所帮助
** 编辑 => 强制 Slim 处理异常,之后:**
$app = AppFactory::create();
add :
$app->addErrorMiddleware(true, true, true);
Ref : http://www.slimframework.com/docs/v4/middleware/body-parsing.html http://www.slimframework.com/docs/v4/middleware/body-parsing.html