Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 15-08-2007 22:27:17

Ouaibou
Membre
Date d'inscription: 26-06-2007
Messages: 16
Site web

[1and1] Htaccess

Bonsoir,

J'ai développez une petite application en local à l'aide du Zend Framework qui tourne très bien.
Je me suis décidé à mettre celle-ci sur le net sur un serveur mutualisé 1and1.

Je sais qu'un serveur mutualisé n'est pas l'idéal. Cependant j'ai vu à plusieurs endroit que le zend framework fonctionne très bien sur un serveur mutualisé 1and1.

Je me permet donc de demander si certains d'entre vous ont déjà testé, et ci il serait possible de mettre ici un copier/coller de leur .htacces de base. Car cela fait plusieurs minutes/heures? que je cherche à faire fonctionner correctement l'url rewriting et j'ai toujours quelques chose qui cloche :

- Soit ça me redirige tout les controlleurs/actions sauf celles utilisant index ou index/"action" : erreur 404...
- Soit rien n'est redirigé, avec erreur 505
- Soit ça me modifie mon baseUrl de base...

La règle la plus logique que j'ai essayé fut :

Code:

RewriteEngine On
RewriteBase /
RewriteRule ^.*$ index.php [L]

Malheureusement ça ne fonctionne pas sad

Je commence à désespérer.

Cordialement,
Laurent

Hors ligne

 

#2 15-08-2007 22:32:33

Grummfy
Membre
Lieu: Belgique
Date d'inscription: 01-08-2007
Messages: 232
Site web

Re: [1and1] Htaccess

essaye de mettre le rewritebase pointant sur ton répertoire physique (par exemeple /home/ouaibou/www/), car chez certain hébergeur seul cela fonctionne.

sinon tu peux toujours demander de l'aide auprès de 1&1 (perso lorsque j'ai un problème c'est ce que je fait de plsu en plus!)


Engagez-moi! : Cherche job en Belgique autour de Namur (1 heure de route autour)
blog - ZF Planet

Hors ligne

 

#3 16-08-2007 11:41:50

Ouaibou
Membre
Date d'inscription: 26-06-2007
Messages: 16
Site web

Re: [1and1] Htaccess

Merci pour ta réponse smile

Je viens donc d'essayer un chemin absolu mais le problème persiste.
J'ai également envoyé un mail à 1and1, mais là dernière fois que j'ai du le faire j'ai attendu près de 2 semaines pour recevoir une réponse. Je me fais donc pas trop d'illusion.

Cependant je me permet de copier/coller l'email que j'ai envoyé ce matin. Celui permettra peut être de mieux comprendre mon problème :

Bonjour,

Je dispose d'un compte chez vous (Numéro client ********) ainsi qu'un nom de domaine :
http://www.ouaibou.info

Je viens de développer une petite application web à l'aide du Zend Framework en local.
Lors que je transfère celle-ci sur ftp, je rencontre quelques problèmes notamment au niveau d'un .htaccess.

J'ai besoin d'avoir à la racine du site, dans /www/ un .htaccess redirigeant toutes les requêtes vers mon fichier principal index.php afin que le modèle MVC du Zend Framework puisse fonctionner.
J'ai donc créé un fichier avec la règle suivante :

RewriteEngine On
RewriteBase /
RewriteRule ^.*$ index.php

Comme vous pouvez le voir ici :
http://www.ouaibou.info
- La page se charge par contre les styles css ne sont pas inclus. Je pensais que cela était du à un mauvais chemin d'inclusion des feuilles de styles mais pas du tout. Puisque si je désactive le Rewrite Engine, le site s'affiche correctement avec les styles css.
- Avec la règle ci-dessus on peut également accéder à d'autre pages comme par exemple :
http://www.ouaibou.info/resources/
alors que d'autre comme :
http://www.ouaibou.info/index/contact/
me renvoient sur une page d'erreur 404.
J'ai remarqué que cela provenait toujours quand l'url contenait le mot /index/.

Au final, en ayant tenté plusieurs règles d'URL Rewriting je ne suis pas arrivé à afficher le tout correctement.
Pourriez-vous m'aider pour ce .htaccess.

Merci.

Cordialement,
Laurent

Hors ligne

 

#4 16-08-2007 12:06:16

Ouaibou
Membre
Date d'inscription: 26-06-2007
Messages: 16
Site web

Re: [1and1] Htaccess

Je viens de comprendre pour les styles css ne se chargent pas.
Apparemment avec le (.*) tout seul apache boucle.

MOox m'a été d'un grand secours pour le problème de chargement des styles. Il m'a envoyé son .htaccess :

RewriteEngine on
RewriteBase /
RewriteRule ^(img|css|js|flash|sounds)/(.*)$ /public/$1/$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php [L]

J'ai cependant toujours deux problèmes :

Les deux problèmes évoqués ci-dessous ne doivent pas être liés à l'Url Rewriting puisque le htaccess fonctionne parfaitement avec Moox.

- Quand je tape http://www.ouaibou.info/index ou http://www.ouaibou.info/index/action, il me ressort une erreur 404. Sinon toutes les autres redirections fonctionnent.
Si par contre je tape http://www.ouaibou.info/default/index/contact ça me redirige sur ma page d'erreur personnalisée suite à mon deuxième problème décrit juste en dessous (donc ça fonctionne bien comme il faut). Pourquoi si je ne précise pas le module, le zend framework va pas chercher dans le module par défaut comme avec les autres controllers comme ressources :
http://www.ouaibou.info/ressources/
Je sens être proche du problème mais je trouve pas.

- Dans mon application j'utilise des helpers qui se trouvent dans l'arborescence recommandé par le framework : /application/default/views/helpers/monHelper.php
Je les utilise notamment pour gérer l'affichage des messages d'erreurs de mes formulaires.
En local je fais directement appel à eux quand j'en ai besoin et ça marche parfaitement sans faire aucun chargement du fichier. Par contre en transférant les fichiers sur 1&1, le framework me dit ne pas trouver tel ou tel helper perso quand j'en appel un sur une page.
Faut-il indiquer un répertoire ?

Bizarre que ça marche en local et pas en ligne sad

Dernière modification par Ouaibou (16-08-2007 15:01:44)

Hors ligne

 

#5 16-08-2007 15:38:21

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: [1and1] Htaccess

Il fonctionne avec moox mais il est qd meme assez spécifique. Si tu n'as pas la meme arbo, il ne fonctionnera pas.
En l'occurence, il met tous les css js img etc dans un repertoire /public/css, js , img etc...

Si tu ne maitrises pas l'url rewriting, utilise celui de base fourni dans la doc.

Code:

RewriteEngine on
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php

Cela signifie en gros : si le fichier demandé ne  se termine pas par une des extensions listées, charge index.php.

Attention au rewriteBase /, il signifie que tout les chemins seront fait à partir du path fourni, / dans le cas présent. Si jamais ton index.php était dans un répertoire autre que /, cele ne fonctionnerait plus. (attention, le / ici, c'est la racine de ton serveur web, pas la racine de ton hdd)


Une autre facon de faire est

Code:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php

Dans ce cas, il y a 2 conditions avant la réécriture. Il faut que le fichier ou le répertoire demandé n'existe pas. Dans le cas ou tu essais de charger un css qui existe, il ne réécrit pas.
Je ne met pas de () autour de .* car il ne sert a rien de capturer une pattern si on ne s'en sert pas, ca consomme de la ram, c'est plus lent et c'est tout. Si ton index.php est a la racine, tu peux mettre /index.php au lieu de le laisser en relatif. L'interret du relatif étant la possibilité d'avoir plusieurs bootstraps

Dernière modification par TiTerm (16-08-2007 15:40:55)

Hors ligne

 

#6 16-08-2007 15:56:52

Ouaibou
Membre
Date d'inscription: 26-06-2007
Messages: 16
Site web

Re: [1and1] Htaccess

Je ne l'ai pas précisé mais j'ai adapté le htaccess de moox, le mien est le suivant :

Code:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ /index.php

Bref, il contient tout ce que tu m'as dit.
Bizarre que l'erreur 404 se fasse que sur le controller nommé index avec pour action, une action différente justement de index.

Je sais pas d'ailleurs si le problème avec l'include des helpers n'est pas lié sad
Maintenant si j'inclu le helper avec un include dans le bootstraps, il me sort une erreur de session à cause du helper en question qui utilise flashMessenger...

Pourquoi j'ai pas tout ceci en local ? sad

Hors ligne

 

#7 16-08-2007 18:55:01

Ouaibou
Membre
Date d'inscription: 26-06-2007
Messages: 16
Site web

Re: [1and1] Htaccess

Pour information voici le genre de message d'erreur que j'obtiens à cause des view helpers :

Fatal error: Uncaught exception 'Zend_View_Exception' with message 'helper 'getUserData' not found in path' in /homepages/19/d140531147/htdocs/library/Zend Framework/View/Abstract.php:1003 Stack trace: #0 /homepages/19/d140531147/htdocs/library/Zend Framework/View/Abstract.php(496): Zend_View_Abstract->_loadClass('helper', 'getUserData') #1 /homepages/19/d140531147/htdocs/library/Zend Framework/View/Abstract.php(298): Zend_View_Abstract->getHelper('getUserData') #2 [internal function]: Zend_View_Abstract->__call('getUserData', Array) #3 /homepages/19/d140531147/htdocs/www/application/default/views/scripts/menu/auth.phtml(24): Zend_View->getUserData('username') #4 /homepages/19/d140531147/htdocs/library/Zend Framework/View.php(46): include('/homepages/19/d...') #5 /homepages/19/d140531147/htdocs/library/Zend Framework/View/Abstract.php(768): Zend_View->_run('application/def...') #6 /homepages/19/d140531147/htdocs/www/application/default/views/scripts/footer.phtml(3): Zend_View_Abstract->render('menu/auth.phtml') #7 /homepa in /homepages/19/d140531147/htdocs/library/Zend Framework/View/Abstract.php on line 1003

MAJ :

Si je fais un include :

Code:

include 'application/default/views/helpers/showFormMessages.php';

dans ma rédéfinition du Zend_Controller_Action l'inclusion fonctionne !
Cependant si je dois à chaque fois modifier ce fichier pour l'ajout d'un helper, etc... c'est chiant et pas logique.

J'ai donc essayé de voir les chemins associés aux helpers, ils sont corrects. Je les ai modifié en spécifiant le chemin absolu mais rien n'y fait ! C'est désespérant sad

Dernière modification par Ouaibou (16-08-2007 20:30:35)

Hors ligne

 

#8 03-09-2007 18:58:22

Brouznouf
Nouveau membre
Date d'inscription: 03-09-2007
Messages: 1

Re: [1and1] Htaccess

Salut , j'ai essayé tout comme toi de faire marché zend framework sur un hebergement 1&1.

j'ai aussi pas mal galèrer pour l'url rewriting ca l'air assez spécial chez eux, pour le moment je n'ai pas reussi a le faire marche correctement cependant j'ai fais un truc bateau :

RewriteEngine On
RewriteRule .* index.php

Bon tu vas me dire que c'est ce que tu as fais au début et que cela ne marche pas, ben en faite ca marche mais il y a une petite astuce en effet pour que cela fonctionne tu ne dois pas avoir ton lien de cette manière : http://www.mondomaine.com/controller/action
mais plutot de cette manière
http://www.mondomaine.com/index.php/controller/action

Pourquoi cela ? Et ben pour moi cela reste un mystère. Je ne suis pas non plus un pro des htaccess. Aprés si quelqu'un a une solution a ce problème j'en serais egalement friant car cela ne fait pas trés propre sad.

Hors ligne

 

#9 04-09-2007 09:51:30

Mr.MoOx
Administrateur
Lieu: Toulouse
Date d'inscription: 27-03-2007
Messages: 1444
Site web

Re: [1and1] Htaccess

Ouaibou à propos de tes helpers, jte connseille de rajoute application/default/views/helpers/ dans le include_path...

Hors ligne

 

#10 13-04-2008 15:01:59

Azkato
Nouveau membre
Date d'inscription: 13-04-2008
Messages: 1

Re: [1and1] Htaccess

Bonjour,

Je me permet de répondre à ce sujet. Je viens de trouver une solution au problème qui fait que chez 1and1, le fait d'écrire http://lesite.com/index ou http://lesite.com/index/action provoque une erreur 404.

En effet, en ajoutant dans le .htaccess la directive -MultiViews le problème disparait.

Voici le .htaccess que j'utilise, conforme à celui conseillé dans la doc et adapté pour 1and1 (RewriteBase et -Multiviews) :

Code:

RewriteEngine On
RewriteBase /
RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php
Options -MultiViews

A bientôt,

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