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');