простая функция redirect () не работает в symfony 1.4 - PullRequest
0 голосов
/ 07 июля 2011

Я предполагаю, что я делаю что-то явно не так, но я не могу понять, что.Мой код очень прост:

public function executeForward(sfWebRequest $request)
{
  //redirect traffic that has landed here to either advertiser's or our own lander
  if ( rand(1, 100) > 50 )
  {
    $this->redirect( 'http://www.google.com', 404 );
  }
  else
  {
    $this->redirect( 'http://www.bing.com', 404 );
  }
}

Я знаю, что шаблон загружает это действие, так как я могу написать неаккуратный код в этом действии, и он будет 500 в моем браузере.Кроме того, вот основной маршрут:

forward_page:
  url:   /forward
  param: { module: static, action: forward }

У кого-нибудь из ваших мастеров Symfony есть болезненно очевидный ответ относительно того, почему это не работает?Я был бы очень признателен за толчок в правильном направлении.

Ответы [ 2 ]

1 голос
/ 07 июля 2011

404 - это код ошибки: http://en.wikipedia.org/wiki/HTTP_404 Попробуйте код 302, он указывает на перенаправление.Кстати, это значение по умолчанию для этой опции:
http://trac.symfony -project.org / browser / branch / 1.4 / lib / action / sfAction.class.php

0 голосов
/ 14 июля 2015

У меня похожая проблема. Я думаю, что проблема с $ this-> redirect. Насколько я понял, $ this-> redirect ожидает, что первым параметром будет маршрут Symfony. Он не принимает внешние URL-адреса. Не уверен, что я прав.

...