Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour à tous,
J'ai actuellement un problème sur lequel je bloque depuis pas mal d'heure et là je ne vois plus de solution.
J'ai actuellement un serveur local linux sur lequel le site est. Dès que je veux atteindre une page (monsite/exemple/index) j'ai une erreur 404. Alors que si je tape dans l'url monsite/index/index la page s'affiche.
Seulement à partir de là si je veux aller vers une autre page je vois que le lien est monsite/index/exemple/index.
Pourtant en local, quand je développe avec wamp tout marche bien j'arrive à accéder à toute mes pages
Je pense donc que le problème vient de la baseUrl mais je ne vois pas pourquoi
Merci d'avance vos réponses
Dernière modification par FloK (25-06-2009 21:11:32)
Hors ligne
le voici:
# Règles de réécriture pour Zend Framework RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f # tout ce qui n'est pas un fichier avec ces extensions est redirigé vers index.php RewriteRule !\.(js|ico|gif|jpg|png|css|zip|gz|html|xml)$ index.php # Sécurité : Ne pas autoriser le parcours de répertoires Options -Indexes # Erreur 404 page non trouvée ErrorDocument 404 /404.html # Configuration PHP php_flag magic_quotes_gpc off php_flag register_globals off php_flag short_open_tag on
Hors ligne
C'est un peu bizarre ta 404. Est-ce que tu peux vérifier que tu as un AllowOverride All dans ta conf apache ?
Pour les liens qui t'envoient n'importe où, je pense que c'est plus simple :
quand tu es sur la page http://monsite/index/index, tu dois faire des liens du genre <a href="example/index">toto</a>.
Dans ce cas ton navigateur considère que tu es sur la page "index" du répertoire http://monsite/index/ et comme tu fais un lien relatif, il ajoute "example/index" au répertoire courant => http://monsite/index/example/index.
Bref fais des liens du genre <a href="/example/index">toto</a> (avec un "/" devant), ça devrait résoudre ton problème.
A+, Philippe
Hors ligne
J'ai bien AllowOverride All dans mon apache.
J'ai aussi essayé les liens toujours rien à faire ça ne marche pas. Ce que je ne comprends pas c'est que je n'ai aucune erreur alors que d'habitude j'avais une exception du style controlleur ou vue inconnu...
Merci de ton aide en tout cas mais je commence à perdre courage
Hors ligne
Si tu ajoutes au début de ton bootstrap les lignes
ini_set("error_reporting",E_ALL); ini_set('display_errors', true);
tes erreurs devraient réapparaître. Par contre il faut l'enlever une fois que ton site est ouvert en prod, sinon ça donne des infos aux éventuels pirates...
A+, Philippe
Hors ligne
essaie :
$frontcontroller->throwExceptions(true); dans ton demarage
Hors ligne
Je ne comprends pas, même après vos indications j'ai toujours le même problème alors que sur wamp tout marche bien. Dès que je veux atteindre un autre contrôleur il y a problème alors qu'une action du contrôleur index pas de soucis...
Hors ligne
Bonjour à tous
Je crois avoir fait le boulet... J'ai en effet AllowOverride All dans mon apache2.conf mais la ligne est commenté.
A quel endroit je dois ajouter cette commande ?
car la c'est toute la section <Directory "/usr/share/apache2/error"> qui est commenté
Dois je tout décommenté ou juste la ligne AllowOverride All
Merci
Hors ligne
Avec quelques heures passé dessus j'ai fini par trouvé la solution je poste donc la solution à mon problème
après avoir activé le module rewriting via la commande
a2enmod rewrite
Il faut modifier le fichier /etc/apache2/sites-available/default
et y mettre
<Directory /var/www/>
AllowOverride All
</Directory>
J'allais modifier le fichier /etc/apache2/apache2.conf et ca ne marchait pas
Merci de votre aide
Bonne soirée
Hors ligne
Pages: 1