Я знаю, что это вопрос, который уже имеет ответы, но никто из них не работал для меня. По какой-то причине я не могу использовать:PHP Slim - перенаправление не работает
$app->redirect($app->urlFor('home'));
ИЛИ
$app->response->redirect($app->urlFor('home'));
маршрут «дом» определена, но по какой-то причине Слим просто возвращение пустой ответ 200. Есть ли что-то, что я делаю неправильно?
EDIT: Полный код:
$app->get('/gensession', function() use ($app){
// set up session; this works
// if I echo anything here, it'll output on the page
$app->redirect('/'); // This doesn't work, neither does urlFor(<name>)
return;
});
Это просто оставляет меня на пустую страницу в/gensession. Slim возвращает 200 (OK) и ничего больше. Нет ошибок. Нет выхода.
.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
EDIT 2: Выход ответ $ app-> является:
object(Slim\Http\Response)#113 (5) { ["status":protected]=> int(302) ["headers"]=> object(Slim\Http\Headers)#115 (1) { ["data":protected]=> array(2) { ["Content-Type"]=> string(9) "text/html" ["Location"]=> string(1) "/" } } ["cookies"]=> object(Slim\Http\Cookies)#116 (2) { ["defaults":protected]=> array(6) { ["value"]=> string(0) "" ["domain"]=> NULL ["path"]=> NULL ["expires"]=> NULL ["secure"]=> bool(false) ["httponly"]=> bool(false) } ["data":protected]=> array(0) { } } ["body":protected]=> string(0) "" ["length":protected]=> int(0) }
Примечание: ["status":protected]=> int(302)
и ["Location"]=> string(1) "/"
Таким образом, если объект ответа, очевидно, содержит эти свойства, почему он не возвращает их клиенту?
Это работает, если вы делаете $ app-> перенаправлять ('/ дом'); или $ app-> response-> redirect ('/ home'); ? –
Нет, он не работает. Однако что-то, о чем я не упоминал в этом вопросе, это то, что я смог перенаправить раньше. Должно быть, я сделал что-то, чтобы остановить перенаправление Slim. Что это может быть? –
У вас есть ошибка? Вы используете ($ app)? –