Symfonyアクション内で外部URLにリダイレクトするにはどうすればよいですか?
私はこのオプションを試しました:
1- return $this->redirect("www.example.com");
エラー:「GET /www.example.com」のルートが見つかりません
2- $this->redirect("www.example.com");
エラー:コントローラーは応答を返す必要があります(nullが指定されています)。
3- $response = new Response();
$response->headers->set("Location","www.example.com");
return $response
エラーはありませんが、空白ページです!
あなたの質問への答えは公式の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形式を使用します。
Responseの代わりにRedirectResponseを使用する必要があります
use Symfony\Component\HttpFoundation\RedirectResponse;
その後:
return new RedirectResponse('http://your.location.com');