2010-10-07 121 views
2

我設置取決於域名語言鏈接(en表示en.example.com,TR爲tr.example.com):Zend框架路線的application.ini

resources.router.routes.plain.type = "Zend_Controller_Router_Route" 
resources.router.routes.plain.route = "/:module/:controller/:action" 
resources.router.routes.plain.defaults.language= "en" 
resources.router.routes.plain.defaults.module = "content" 
resources.router.routes.plain.defaults.controller = "index" 
resources.router.routes.plain.defaults.action = "index" 

resources.router.routes.plain1.type = "Zend_Controller_Router_Route" 
resources.router.routes.plain1.abstract = 1 
resources.router.routes.plain1.route = "/:module/:controller/:action/*" 
resources.router.routes.plain.defaults.module = "content" 
resources.router.routes.plain.defaults.controller = "index" 
resources.router.routes.plain.defaults.action = "index" 

resources.router.routes.dom0.type = "Zend_Controller_Router_Route_Hostname" 
resources.router.routes.dom0.abstract = 1 
resources.router.routes.dom0.route = "en.example.com" 
resources.router.routes.dom0.defaults.language= "en" 
resources.router.routes.chn1.type = Zend_Controller_Router_Route_Chain 
resources.router.routes.chn1.chain = "dom0, plain1" 

resources.router.routes.dom1.type = "Zend_Controller_Router_Route_Hostname" 
resources.router.routes.dom1.abstract = 1 
resources.router.routes.dom1.route = "tr.example.com" 
resources.router.routes.dom1.defaults.language= "tr" 
resources.router.routes.chn2.type = Zend_Controller_Router_Route_Chain 
resources.router.routes.chn2.chain = "dom1, plain1" 

這裏的問題是,當我把網址只MODULENAME並沒有指定控制器或者動作: tr.example.com/content/ 我得到設定的語言「EN」

但是,當我與模塊名,控制器和行動呼籲: TR。 example.com/content/article/read 一切都很好

我該怎麼辦錯了嗎?

在此先感謝

+0

此外,你有一些命名問題的通知,默認的'plain1'是在'plain'航線上定義 - 也就是有可能的問題,因爲你的'plain1'路線沒有定義'defaults',它需要參數在那裏匹配。 – gnarf 2010-10-07 19:05:24

+0

對不起,gnarf我沒有得到你的意思「你沒有爲plain1路線定義的默認值」。 平原和plain1具有相同的默認值,它們之間的唯一區別是plain1是抽象的(僅在鏈使用)。 在此配置中,根據後進先出規則,路由隊列應爲: 1- chn2 2- chn1 3-明確 我錯了嗎? – carlos 2010-10-08 08:08:22

+0

是啊,看起來像@gnarf釘了它。在塊,你(可能打算)定義「plain1」的路線,看來你放下後「1」,在「plain1」,讓你只用「普通」。因此,您的「plain1」路線並不會包含您(可能)期望的模塊默認值。 – 2011-05-04 01:46:31

回答

1

您尚未指定plain1的默認模塊,控制器和操作。