Comment puis-je rediriger vers une URL externe dans une action symfony?
J'ai essayé ces options:
1- return $this->redirect("www.example.com");
Erreur: aucun itinéraire trouvé pour "GET /www.example.com"
2- $this->redirect("www.example.com");
Erreur: le contrôleur doit renvoyer une réponse (donnée nulle).
3- $response = new Response();
$response->headers->set("Location","www.example.com");
return $response
Pas d'erreur mais page vierge!
La réponse à votre question est dans le livre officiel de 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
}
Quel est le "URL"
? Avez-vous vraiment défini un itinéraire pour ce modèle? Sinon, l'erreur non trouvée est absolument correcte. Si vous souhaitez rediriger vers un site externe, utilisez toujours le format URL absolu.
Vous devez utiliser RedirectResponse au lieu de Response
use Symfony\Component\HttpFoundation\RedirectResponse;
Et alors:
return new RedirectResponse('http://your.location.com');