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 :
à ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 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
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 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"
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 :
Et l'initialisation du router dans le bootstrap :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 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]
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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 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);}
Partager