Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je développe en php depuis ses débuts, je me suis dernierement à développer avec le framework zend mais sur un de mes site j'ai un petit soucis lié au sessions pendant l'identification des utilisateurs.
Le virtual host du site a comme nom de domaine : domain.fr
servername "domain.fr"
serveralias "www.domain.fr"
maintenant, le code fonctionne parfaitement lorsqu'un utilisateur se connecte via son formulaire d'identification et sa session est bien créée mais le soucis :
c'est que lorsque l'utilisateur se connecte via : http://domain.fr/ la session est créée juste pour domain.fr et quand il passe à une page avec une url : http://www.domain.fr/... la session n'existe pas.
Quelqu'un parmi vous pourrais me confirmer qu'il y'a bien un probleme lié au Nameserver dans apache et quelle serait la meilleur façon de le détourner ?
Pour info, le site tourne sur un CentOs 6 avec ZF 1.11.11 / PHP 5.3.13 et les vhosts sont crées par plesk 10.2
Le code est un peu ancien et n'utilise que config.ini (pas d'application.ini).
Merci par avance pour vos réponses
Moos.
Hors ligne
résolu ! Merci pour tout
Hors ligne
svp comment vous avez fait pour résoudre ce problème ?
Hors ligne
Bonjour,
Il faut déclarer dans ton application.ini un cookie domain en mettant ton domaine racine avec un . devant, ce qui te permettra d'utiliser les cookies pour tous les sous domaines ainsi que sur le domaine racine.
cookie.domain = .domain.com
Puis dans le Bootstrap.php (celui de la racine d'application, qui étends Zend_Application_Bootstrap_Bootstrap) :
protected function _initSession() { $options = $this->getOptions(); Zend_Session::start(array('cookie_domain' => $options['cookie']['domain'])); }
Hors ligne
Exactement !
J'ai du déclaré le cookie domain pour que ça marche.
ini_set('session.cookie_domain', '.domaine.fr');
N'oubliez pas de faire une redirection permanente dans votre .htaccess
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domaine.fr [NC]
RewriteRule ^(.*)$ http://www.domaine.fr/$1 [L,R=301]
Bien cordialement,
El.
Hors ligne
Pages: 1