Symfony перенаправляет внешний URL
Как перенаправить внешний URL в действие symfony?
Я пробовал следующие параметры:
1- return $this->redirect("www.example.com");
Ошибка: маршрут не найден для "GET/www.example.com"
2- $this->redirect("www.example.com");
Ошибка: контроллер должен вернуть ответ (нулевое значение).
3- $response = new Response();
$response->headers->set("Location","www.example.com");
return $response
Нет ошибки, но пустой страницы!
Ответы
Ответ 1
Ответ на ваш вопрос в официальной книге Symfony.
http://symfony.com/doc/current/book/controller.html#redirecting
public function indexAction()
{
return $this->redirect('http://stackoverflow.com');
// return $this->redirect('http://stackoverflow.com', 301); - for changing HTTP status code from 302 Found to 301 Moved Permanently
}
Что такое "URL"
? Вы действительно определили маршрут для этого шаблона? Если нет, то не найденная ошибка является абсолютной правильностью. Если вы хотите перенаправить на внешний сайт, всегда используйте абсолютный формат URL.
Ответ 2
Вы должны использовать RedirectResponse вместо Response
use Symfony\Component\HttpFoundation\RedirectResponse;
И затем:
return new RedirectResponse('http://your.location.com');