Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 05-08-2014 15:22:24

Seryus
Membre
Date d'inscription: 17-02-2012
Messages: 128

Zend\View\Helper\ServerUrl setUseProxy

Bonjour,

Je suis confronté à un problème d'URL dans mon application, elle doit être accessible depuis un réseau externe grâce à un proxy, mais l'hôte que prend l'aide de vue URL n'est pas la bonne, c'est l'hôte du réseau interne qui est utilisé (au lieu de l'hôte vers lequel le proxy redirige).

En cherchant un peu, j'ai vu que la variable $_SERVER['HTTP_X_FORWARDED_HOST'] contenait justement l'hôte exacte que je veux utiliser quand je suis en externe. J'ai donc voulu faire un fix directement dans mon application, mais après une petite recherche j'ai vu que Zend disposait d'une méthode permettant de le faire (la méthode setUseProxy de la classe ServerUrl).

Le problème est : Où et comment utiliser cette fonction ? Il y a une clé dans le fichier de conf à mettre ? Je ne trouve aucun exemple de comment faire ça sad

Hors ligne

 

#2 05-08-2014 15:34:35

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Zend\View\Helper\ServerUrl setUseProxy

Salut essaies de l'utiliser comme ça dans ta vue echo $this->serverUrl()->setUseProxy(true)

Hors ligne

 

#3 05-08-2014 15:42:37

Seryus
Membre
Date d'inscription: 17-02-2012
Messages: 128

Re: Zend\View\Helper\ServerUrl setUseProxy

Ça ne fonctionne pas, $this->serverUrl() me renvoie une chaine hmm

Hors ligne

 

#4 05-08-2014 15:54:22

Seryus
Membre
Date d'inscription: 17-02-2012
Messages: 128

Re: Zend\View\Helper\ServerUrl setUseProxy

Il semblerait d'ailleurs que les autres aides de vue URL n'utilisent pas cette classe là, quand je fais un dump directement dans la classe je n'ai aucun résultat (sauf si j'écris $this->serverUrl()).

Hors ligne

 

#5 05-08-2014 19:27:43

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Zend\View\Helper\ServerUrl setUseProxy

Ah bah oui ça pouvait pas fonctionner effectivement smile. Là je sais pas et j'ai pas de quoi test sous la main sad

Hors ligne

 

#6 06-08-2014 10:51:13

Seryus
Membre
Date d'inscription: 17-02-2012
Messages: 128

Re: Zend\View\Helper\ServerUrl setUseProxy

J'ai jeté un œil sur la classe du View Helper BasePath (que j'utilise), et j'ai vu qu'il n'y a pas de calcul de chemin ou d'adresse dans celui-ci. Je suppose donc que la méthode setBasePath de cette classe a été utilisée plus tôt, tu ne saurais pas à quel moment ? smile

Dernière modification par Seryus (06-08-2014 10:51:39)

Hors ligne

 

#7 06-08-2014 14:22:24

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Zend\View\Helper\ServerUrl setUseProxy

Si tu l'as défini dans la conf ['view_manager']['base_path'] ça met cette valeur sinon ça va récupérer le basePath de la requête smile.

Hors ligne

 

#8 06-08-2014 15:38:54

Seryus
Membre
Date d'inscription: 17-02-2012
Messages: 128

Re: Zend\View\Helper\ServerUrl setUseProxy

Je vais devoir recomposer mon URL dans ce cas sad

Hors ligne

 

#9 07-08-2014 10:47:21

Seryus
Membre
Date d'inscription: 17-02-2012
Messages: 128

Re: Zend\View\Helper\ServerUrl setUseProxy

Il y a moyen de définir mon basePath via une factory ? J'en ai créé une qui récupère l'url de base en prenant en compte le proxy, mais je ne vois pas comment l'appeler :s Ou peut-être que je devrais modifier directement l'objet HTTP Request pour y changer l'host ?

Dernière modification par Seryus (07-08-2014 10:51:02)

Hors ligne

 

#10 07-08-2014 22:01:45

Orkin
Administrateur
Lieu: Paris
Date d'inscription: 09-12-2011
Messages: 1261

Re: Zend\View\Helper\ServerUrl setUseProxy

Non tu fais un factory qui créé soit un nouveau helper genre myBasePathWithProxy soit le même en utilisant la même clé dans le service manager

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages