wake-up-neo.com

Symfony-Weiterleitung an externe URL

Wie kann ich innerhalb einer Symfony-Aktion zu einer externen URL umleiten?

Ich habe diese Optionen ausprobiert:

1- return $this->redirect("www.example.com");

Fehler: Keine Route für "GET /www.example.com" gefunden

2- $this->redirect("www.example.com");

Fehler: Der Controller muss eine Antwort zurückgeben (null angegeben).

3- $response = new Response();
$response->headers->set("Location","www.example.com");
return $response

Kein Fehler aber leere Seite!

18
Saman Mohamadi

Die Antwort auf Ihre Frage finden Sie im offiziellen Symfony-Buch.

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
}

Was ist der "URL"? Haben Sie die Route für dieses Muster wirklich definiert? Wenn nicht, ist der nicht gefundene Fehler absolut korrekt. Wenn Sie zu einer externen Site umleiten möchten, verwenden Sie immer das absolute URL-Format.

31
kba

Sie müssen RedirectResponse anstelle von Response verwenden

use Symfony\Component\HttpFoundation\RedirectResponse;

Und dann:

return new RedirectResponse('http://your.location.com');
24
Artamiel