Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
Voilà je voulais introduire la réécriture d'URL sur mon site mais dès la première route que j'essaie de modifier, ça ne marche pas.
J'utilise un fichier routes.ini avec toutes mes routes définies dedans, et pour cette route je suis passé de ça :
routes.resultats.type = "Zend_Controller_Router_Route" routes.resultats.route = "resultats/:lang/:champ" routes.resultats.defaults.controller = "resultats" routes.resultats.defaults.action = "resultats" routes.resultats.defaults.lang = fr routes.resultats.defaults.champ = 0
à ça :
routes.resultats.type = "Zend_Controller_Router_Route_Regex" routes.resultats.route = "resultats/(\w+)/(\d+)/(\w+)" routes.resultats.defaults.controller = "resultats" routes.resultats.defaults.action = "resultats" routes.resultats.map.1 = "lang" routes.resultats.map.2 = "champ" routes.resultats.map.3 = "url" routes.resultats.reverse ="%s/resultats/%d-%s.html"
le champ "url" ajouté sert à embellir l'url avec du contenu plus parlant qu'un simple identifiant. J'ai bien sur changé la façon donc je construit l'url dans ma page en ajoutant ce nouveau champ.
Je peux voir sur le lien que l'url se construit très bien avec les bonnes valeurs aux bonnes places, mais quand je clic sur le lien, Zend me renvoit une erreur "Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message invalid controller specified(error)"
Si cela peut aider, voici mon fichier htaccess :
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule !\.(js|ico|gif|jpg|png|css)$ index.php [NC,L]
Et l'initialisation du router dans le bootstrap :
[lang=php]protected function _initRouter() { $front = $this->bootstrap('FrontController')->getResource('FrontController'); $router = $front->getRouter(); $config = new Zend_Config_Ini(APPLICATION_PATH . '/configs/routes.ini', 'routes'); $routing = new Zend_Controller_Router_Rewrite(); $routing->addConfig($config, 'routes'); $front->setRouter($routing);}
J'ai suivi plusieurs tuto sur le web mais je n'arrive pas à voir ce qui cloche dans mon code, alors si quelqu'un a une idée
Hors ligne