Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je rencontre un probleme pour passer le caractere '/' en parametre d'url.
J'ai un controller contenant une action redirect qui prend en parametre une url, j'ai donc un appel du style
http://server/gallery/redirect/where/http%3A%2F%2Fwww.google.com
Cela me renvoie toujours un 404. Par contre, si je retirer les %2F, cela fonctionne parfaitement.
Merci d'avance pour votre aide.
Hors ligne
il faut encoder deux fois
en clair
http%3A%2F%2Fwww.google.com est la valeur de ton paramètre tu dois donc faire un url_encode de cette chaîne pour qu'il ne soit pas interprété par le serveur à son arrivé.
A+JYT
Hors ligne
Une autre solution consiste a utiliser une classe utilitaire qui te permette de gérer tes redirectes.
J'ai par exemple dans certaine des mes actions qui doivent me renvoyer sur l'url par laquel je suis arrivé :
// Début de l'action // sauvegarde le referer en session lorsque qu'il rencontre le paramètre Mmx_Back dans l'url // puis effectue un redirect pour recharger la page sans le paramètre Mmx_Back Zend_Loader::loadClass('Mmx_Url_History'); Mmx_Url_History::addReferer(); // Ou alors dans l'action appelante : Zend_Loader::loadClass('Mmx_Url_History'); Mmx_Url_History::addToHistory($urlRedirection); // A la fin de l'action if($backUrl = Mmx_Url_History::get()){ $this->_redirect($backUrl); }else{ $this->_helper->getHelper('Redirector')->goto('index'); }
Hors ligne
merci de vos réponses
Hors ligne