如何使用瘦重定向
我有一个问题。我正在使用slim,我的主页有路线:
$app->get('/', function() use ($app) { ...
在我的一个控制器中,我想重定向到主页,所以我写
$app->response->redirect('/', 303);
但是,我没有重定向到“/”路由,而是重定向到本地服务器的根目录http://localhost/
我做错了什么?我应该如何使用重定向方法?
我有一个问题。我正在使用slim,我的主页有路线:
$app->get('/', function() use ($app) { ...
在我的一个控制器中,我想重定向到主页,所以我写
$app->response->redirect('/', 303);
但是,我没有重定向到“/”路由,而是重定向到本地服务器的根目录http://localhost/
我做错了什么?我应该如何使用重定向方法?
Slim 允许您命名路由,然后使用 基于此名称重定向回路由。在您的示例中,将路由更改为:urlFor()
$app->get('/', function() use ($app) { ... })->name("root");
然后您的重定向变为:
$app->response->redirect($app->urlFor('root'), 303);
有关详细信息,请参阅 Slim 文档中的路由帮助程序。
从 Slim3 文档 http://www.slimframework.com/docs/start/upgrade.html
$app->get('/', function ($req, $res, $args) {
return $res->withStatus(302)->withHeader('Location', 'your-new-uri');
});