8722 sujets

Développement web côté serveur, CMS

Salut,

J'ai essayé de faire ma réécriture d'URL avec Zend_Controller_Router_Rewrite mais quelque chose semble bloquer :

J'aimerai réécrire l'URL Smiley url http://www.ndd.dev/interet/index/id/1/[/url] pour Smiley url http://www.ndd.dev/i/rouen/1/[/url]

Pour cela j'ai ajouté dans mon bootstrap :

protected function _initRouter () {
	
		$config = new Zend_Config_Ini(APPLICATION_PATH.'/config/application.ini', APPLICATION_ENV);
		$router = new Zend_Controller_Router_Rewrite();
		$router->addConfig($config, 'routes');
	
}

et dans mon application.ini :

a écrit :
Smiley production
[...]
routes.interet.type = "Zend_Controller_Router_Route_Regex"
routes.interet.route = "/i/(.+)/([0-9]+)/"
routes.interet.defaults.controller = "interet"
routes.interet.defaults.action = "index"
routes.interet.map.1 = "seo"
routes.interet.map.2 = "id"
routes.interet.reverse ="i/%s/%d/"

Et mon .htaccess est le suivant :

a écrit :
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

Mais j'obtiens le message d'erreur suivant :

a écrit :
Fatal error: Uncaught exception 'Zend_Controller_Dispatcher_Exception' with message 'Invalid controller specified (error)' in /www/library/Zend/Controller/Dispatcher/Standard.php:248 Stack trace: #0 /www/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 /www/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch() #2 /www/htdocs/xxx/application/Bootstrap.php(8): Zend_Application_Bootstrap_Bootstrap->run() #3 /www/library/Zend/Application.php(366): Bootstrap->run() #4 /www/htdocs/xxx/html/index.php(15): Zend_Application->run() #5 {main} Next exception 'Zend_Controller_Exception' with message 'Invalid controller specified (error)#0 /www/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http)) #1 /www/library/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller in /www/library/Zend/Controller/Plugin/Broker.php on line 336

L'accès depuis Smiley url http://www.ndd.dev/interet/index/id/1/[/url] reste lui toujours disponible.

Merci