Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Je tente de me familiariser avec le Framework Zend en suivant le tutorial de G. Rossolini. Je suis au point III-A. Mise en place du Contrôleur. En fait je suis un peu plus loin dans le tuto car cette partie ne marchait déjà pas avant donc j’ai avancé un peu pour voir si ça allait se débloqué par la suite. Seulement rien ne s’est débloqué et j’ai encore besoin d’accéder à des pages que je n’arrive pas à avoir.
Dans le point III-A. Mise en place du Contrôleur, il est dit que l’on peut accéder aux actions ajouter, modifier, supprimer par ce type d’adresse :
http://localhost/zf-tutorial/index/ajouter
Seulement pour moi la page est introuvable en tapant ces adresses. Un peu plus loin dans la tuto lorsque je créé le contenu de ma page « ajouter », j’ai besoin de visualiser cette page, je n’y arrive pas non plus … Ou si mais plus ou moins. En fait j’y accède par l’adresse :
http://localhost/zf-tutorial/index.php/index/ajouter
De plus j’ai établi la feuille CSS donc quand je tape http://localhost/zf-tutorial/ , le navigateur affiche ma page avec le style décrit dans la feuille CSS (centré, couleur marron, police etc …)… Quand je clique sur mes liens pour ajouter un CD par exemple, je tombe sur une erreur 404, page introuvable. (Il cherche la page http://localhost/zf-tutorial/index/ajouter , il ne la trouve pas …)
Si par contre je tape http://localhost/zf-tutorial/index.php, il m’affiche la page sans la police, la couleur, le centré, …) mais par contre quand je clique sur le lien pour ajouter un CD, j’ai la bonne page qui s’affiche (il cherche la page http://localhost/zf-tutorial/index.php/index/ajouter )
Comment se fait t’il que je n’y arrive pas avec l’adresse http://localhost/zf-tutorial/index/ajouter ? Que faut il faire pour qu’il n’y ai plus ce problème de style et que l’accès soit possible par la bonne adresse ?
Désolé, mon problème est un peu long mais j'ai essayer d'expliquer au mieux ... Merci d'avance si quelqu'un peut m'aider ...
Dernière modification par !N50MN!@K33 (25-02-2008 11:07:36)
Hors ligne
En fait, mon collègue travail sur le même tutoriel que moi et chez lui ça marche. J'ai donc calqué mes configurations sur les siennes et mon problème vennait du fait que dans le fichier httpd.conf tous mes AllowOverride etaient à None. Il était précisé dans le tuto qu'il fallait que :
Pour que les .htaccess fonctionnent avec Apache, il faut que la directive de configuration AllowOverride soit mise à All dans votre fichier httpd.conf.
Seulement comme il y en avait plusieurs, je ne savais pas ce qui était designé par LA directive de configuration AllowOverride. Je les ai donc TOUTES passées à All et ça fonctionne...
Est-ce bien ce qu'il fallait faire ? J'ai bien fait de tout passé à All ? (Parce que j'ai tout de même un doute -_-')
Dernière modification par !N50MN!@K33 (25-02-2008 10:31:07)
Hors ligne
C'est étrange. Ce tuto, c'est un des rares que j'ai pu suivre jusqu'au bout. Je n'ai pas eu de pb. Dans mon header j'ai cette ligne :
<link rel="stylesheet" type="text/css" media="screen" href="<?php echo $this->baseUrl;?>/public/styles/connexion.css" />
et ce css est visible par l'appli.
En ce qui conerne les url, chez moi je n'ai pas ce pb de index.php. Es-tu sûr d'avoir bien indiquer ton fichier .htaccess contenant ces lignes
#RewriteRule .* index.php # REWRITE RULE : Réécriture des liens # Les règles ci-dessus vont redirigées toute requête non-ressource (images, feuilles de style CSS) # vers le contrôleur frontal. S'il y a d'autres extensions que #vous souhaitez exclure du contrôleur # frontal (PDFs, fichiers textes, etc.), ajoutez leurs extensions au commutateur, ou créez vos propres règles de réécriture. RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php php_flag magic_quotes_gpc off php_flag register_globals off
A mon avis ton erreur est là, je viens de commenté la première ligne de RewriteRule et ça marche comme chez toi, donc ça ne marche pas.
Hors ligne
ha pendant que j'écrivais mon post, tu as posté le tiens, sorry!
Hors ligne
Merci quand même car ça me permet de mieux comprendre les fonction du RewriteRule
Hors ligne
NB: Regardé la balise html <base href=""> si c'est pas déjà fait (qui permet de se passer de mettre la base url pour tous les liens (dont les feuilles de style))
Hors ligne