如何使用瘦重定向

2022-08-30 19:25:46

我有一个问题。我正在使用slim,我的主页有路线:

$app->get('/', function() use ($app) { ... 

在我的一个控制器中,我想重定向到主页,所以我写

$app->response->redirect('/', 303);

但是,我没有重定向到“/”路由,而是重定向到本地服务器的根目录http://localhost/

我做错了什么?我应该如何使用重定向方法?


答案 1

Slim 允许您命名路由,然后使用 基于此名称重定向回路由。在您的示例中,将路由更改为:urlFor()

$app->get('/', function() use ($app) { ... })->name("root");

然后您的重定向变为:

$app->response->redirect($app->urlFor('root'), 303);

有关详细信息,请参阅 Slim 文档中的路由帮助程序


答案 2

从 Slim3 文档 http://www.slimframework.com/docs/start/upgrade.html

$app->get('/', function ($req, $res, $args) {
  return $res->withStatus(302)->withHeader('Location', 'your-new-uri');
});

推荐