Mon application utilise le routage et un plugin de traduction selon le modèle suivant :

bootstrap.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
protected function _initRouter(){
    $this->bootstrap('frontController');
    $front = $this->getResource('frontController');
    $router = $front->getRouter();
    $router->addConfig(new Zend_Config_Ini(APPLICATION_PATH . '/configs/routes.ini', 'routes'), 'routes');
    return $router;
}
routes.ini
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
routes.acceuil.type = "Zend_Controller_Router_Route"
routes.acceuil.route = ":language/acceuil"
routes.acceuil.defaults.module = frontend
routes.acceuil.defaults.controller = index
routes.acceuil.defaults.action = index
routes.acceuil.defaults.language = fr
J'utilise également un plugin d'authentification qui vérifie dans une bd si l'utilisateur a accès à la ressource demandée. Une ressource, bien évidemment, est définie par le triplet (Module, Controleur, Action)

Quand je saisis, http://localhost/fr/acceuil ou http://localhost/en/acceuil ça marche normalement.

Quand je saisis http://localhost/fr/frontend/index/index le plugin d'authentification me redirige vers la page d'authentification. Cela veut dire qu'il n'a pas bien interprété l'URL et donc il n'a pas reconnu le triplet (Module, Controleur, Action)=(Frontend, index,index).