I have a problem with setting Zend_Routing in ini file. While the routes were defined in Bootstrap.php everything worked great. However I decided to move route definitions to separate file because of the growing number of them. So I created a route.ini file in my /configs folder and defined routes there. All routes looks like this:
;login
routes.login.route = "login"
routes.login.defaults.controller = "auth"
routes.login.defaults.action = "login"
routes.lang_login.route = ":lang/login"
routes.lang_login.defaults.controller = "auth"
routes.lang_login.defaults.action = "login"
routes.lang_login.reqs.lang = "^[a-z]{2}$"
rotues.logout.route = "logout"
routes.logout.defaults.controller = "auth"
routes.logout.defaults.action = "logout"
rotues.lang_logout.route = ":lang/logout"
routes.lang_logout.defaults.controller = "auth"
routes.lang_logout.defaults.action = "logout"
routes.lang_logout.reqs.lang = "^[a-z]{2}$"
;regulation routing
routes.regulation_edition.route = "regulations/:edition"
routes.regulation_edition.defaults.controller = "regulations"
routes.regulation_edition.defaults.action = "show"
routes.regulation_edition.reqs.edition = "^[0-9]{4}-[0-9]{4}$"
routes.lang_regulation_edition.route = ":lang/regulations/:edition"
routes.lang_regulation_edition.defaults.controller = "regulations"
routes.lang_regulation_edition.defaults.action = "show"
routes.lang_regulation_edition.reqs.edition = "^[0-9]{4}-[0-9]{4}$"
routes.lang_regulation_edition.reqs.lang = "^[a-z]{2}$"
routes.regulation_edit_edition.route = "regulations/edit/:edition"
routes.regulation_edit_edition.defaults.controller = "regulations"
routes.regulation_edit_edition.defaults.action = "edit"
routes.regulation_edit_edition.reqs.edition = "^[0-9]{4}-[0-9]{4}$"
routes.lang_regulation_edit_edition.route = ":lang/regulations/edit/:edition"
routes.lang_regulation_edit_edition.defaults.controller = "regulations"
routes.lang_regulation_edit_edition.defaults.action = "edit"
routes.lang_regulation_edit_edition.reqs.edition = "^[0-9]{4}-[0-9]{4}$"
routes.lang_regulation_edit_edition.reqs.lang = "^[a-z]{2}$"
;applications
rotues.application.route = "application/:id"
routes.application.defaults.controller = "applications"
routes.application.defaults.action = "show"
routes.application.reqs.id = "^[0-9]+$"
rotues.lang_application.route = ":lang/application/:id"
routes.lang_application.defaults.controller = "applications"
routes.lang_application.defaults.action = "show"
routes.lang_application.reqs.lang = "^[a-z]{2}$"
routes.lang_application.reqs.id = "^[0-9]+$"
rotues.edit_application.route = "application/edit/:id"
routes.edit_application.defaults.controller = "applications"
routes.edit_application.defaults.action = "edit"
routes.edit_application.reqs.id = "^[0-9]+$"
rotues.lang_edit_application.route = ":lang/application/edit/:id"
routes.lang_edit_application.defaults.controller = "applications"
routes.lang_edit_application.defaults.action = "edit"
routes.lang_edit_application.reqs.id = "^[0-9]+$"
routes.lang_edit_application.reqs.lang = "^[a-z]{2}$"
rotues.delete_application.route = "application/delete/:id"
routes.delete_application.defaults.controller = "applications"
routes.delete_application.defaults.action = "delete"
routes.delete_application.reqs.id = "^[0-9]+$"
rotues.lang_delete_application.route = ":lang/application/delete/:id"
routes.lang_delete_application.defaults.controller = "applications"
routes.lang_delete_application.defaults.action = "delete"
routes.lang_delete_application.reqs.id = "^[0-9]+$"
routes.lang_delete_application.reqs.lang = "^[a-z]{2}$"
;user
routes.user.route = "user/:id"
routes.user.defaults.controller = "users"
routes.user.defaults.action = "show"
routes.user.reqs.id = "^[0-9]+$"
routes.lang_user.route = ":lang/user/:id"
routes.lang_user.defaults.controller = "users"
routes.lang_user.defaults.action = "show"
routes.lang_user.reqs.id = "^[0-9]+$"
routes.lang_user.reqs.lang = "^[a-z]{2}$"
routes.edit_user.route = "user/edit/:id"
routes.edit_user.defaults.controller = "users"
routes.edit_user.defaults.action = "edit"
routes.edit_user.reqs.id = "^[0-9]+$"
routes.lang_edit_user.route = ":lang/user/edit/:id"
routes.lang_edit_user.defaults.controller = "users"
routes.lang_edit_user.defaults.action = "edit"
routes.lang_edit_user.reqs.id = "^[0-9]+$"
routes.lang_edit_user.reqs.lang = "^[a-z]{2}$"
routes.delete_user.route = "user/delete/:id"
routes.delete_user.defaults.controller = "users"
routes.delete_user.defaults.action = "delete"
routes.delete_user.reqs.id = "^[0-9]+$"
routes.lang_delete_user.route = ":lang/user/delete/:id"
routes.lang_delete_user.defaults.controller = "users"
routes.lang_delete_user.defaults.action = "delete"
routes.lang_delete_user.reqs.id = "^[0-9]+$"
routes.lang_delete_user.reqs.lang = "^[a-z]{2}$"
routes.promote_user.route = "user/promote/:id"
routes.promote_user.defaults.controller = "users"
routes.promote_user.defaults.action = "promote"
routes.promote_user.reqs.id = "^[0-9]+$"
routes.lang_promote_user.route = ":lang/user/promote/:id"
routes.lang_promote_user.defaults.controller = "users"
routes.lang_promote_user.defaults.action = "promote"
routes.lang_promote_user.reqs.id = "^[0-9]+$"
routes.lang_promote_user.reqs.lang = "^[a-z]{2}$"
;schools
routes.edit_school.route = "school/edit/:id"
routes.edit_school.defaults.controller = "schools"
routes.edit_school.defaults.action = "edit"
routes.edit_school.reqs.id = "^[0-9]+$"
routes.lang_edit_school.route = ":lang/school/edit/:id"
routes.lang_edit_school.defaults.controller = "schools"
routes.lang_edit_school.defaults.action = "edit"
routes.lang_edit_school.reqs.id = "^[0-9]+$"
routes.lang_edit_school.reqs.lang = "^[a-z]{2}$"
routes.delete_school.route = "school/delete/:id"
routes.delete_school.defaults.controller = "schools"
routes.delete_school.defaults.action = "delete"
routes.delete_school.reqs.id = "^[0-9]+$"
routes.lang_delete_school.route = ":lang/school/delete/:id"
routes.lang_delete_school.defaults.controller = "schools"
routes.lang_delete_school.defaults.action = "delete"
routes.lang_delete_school.reqs.id = "^[0-9]+$"
routes.lang_delete_school.reqs.lang = "^[a-z]{2}$"
In Bootstrap.php I put the following code
$this->bootstrap('frontController');
$router = $this->getResource('frontController')->getRouter();
$route_config = new Zend_Config_Ini(APPLICATION_PATH.'/configs/route.ini', 'production');
$router->addConfig($route_config, 'routes');
Now when i go to the main page, ie. i won't give any controller or action I want it to use default controller and action, namely 'index/index'. This is how the application worked while routes were defined in Bootstrap. But now, when they are in the ini file going to the main page triggers 'application/delete'. When I delete this routing the script will use route defined earlier. What is surprising these are not the last defined routes. I tried to add another route at the beginning of route.ini file,
routes.default.route = "/" routes.default.defaults.controller = "index" routes.default.defaults.action = "index"
But this didn't help.