POSTS
Zend Framework 以sub domain 為基準 routes
以Zend Framework 建置專案大部分的 routes:
http://www.test.tw/module/controller/action
例如:
http://www.test.tw/index/main/frontpage
則:
module 為 index
controller 為 main
action 為 frontpage
這樣來說為一般使用以符合需求.
但是在大型架構常常會發現,很多是因為流量或友善網址而作的改變.
如:
bbs.test.tw 為瀏覽討論區.
shop.test.tw 為瀏覽購物區.
blog.test.tw 為瀏覽網誌區.
這時如何辦到呢?
以上面所舉的例子來解,只要編輯application.ini:
resources.router.routes.www.type = "Zend_Controller_Router_Route_Hostname"
resources.router.routes.www.route = ":module.test.tw"
resources.router.routes.www.defaults.module = "www"
resources.router.routes.www.chains.index.type = "Zend_Controller_Router_Route"
resources.router.routes.www.chains.index.route = ":controller/:action/*"
resources.router.routes.www.chains.index.defaults.controller = "index"
resources.router.routes.www.chains.index.defaults.action = "index"
上面這段是宣告sub domain 為基準 routes.
編輯application.ini加上:
resources.router.routes.news.type = "Zend_Controller_Router_Route_Hostname"
resources.router.routes.news.route = "bbs.test.tw"
resources.router.routes.news.defaults.module = "bbs"
resources.router.routes.edu.type = "Zend_Controller_Router_Route_Hostname"
resources.router.routes.edu.route = "shop.test.tw"
resources.router.routes.edu.defaults.module = "shop"
resources.router.routes.edu.type = "Zend_Controller_Router_Route_Hostname"
resources.router.routes.edu.route = "blog.test.tw"
resources.router.routes.edu.defaults.module = "blog"
不同的sub domain分別對應上不同的module.