我一直試圖繞過路由,因爲這個原因建立一個小應用程序來擺弄,但我設法偶然發現一個問題。Zend Framework重定向和路由,不知何故無法正常工作
整個測試的目標是隱藏網址'hostname/content/index/add',並將其變成一個對於像'hostname/wms/content/add'這樣的用戶更容易理解的url。
但現在由於一些奇怪的原因,我不能使用$ this-> url()方法重定向。但不知何故,像somelink一樣的正常鏈接工作。
我已經在application.ini中構建了幾條路線來測試它的工作原理。這沒有什麼特別的...
resources.router.routes.contentroute.route = "/wms/content"
resources.router.routes.contentroute.defaults.module = content
resources.router.routes.contentroute.defaults.controller = index
resources.router.routes.contentroute.defaults.action = index
resources.router.routes.vacaturesroute.route = "/wms/vacatures"
resources.router.routes.vacaturesroute.defaults.module = vacatures
resources.router.routes.vacaturesroute.defaults.controller = index
resources.router.routes.vacaturesroute.defaults.action = index
因此,當我輸入主機名/ WMS /內容我重定向到內容模塊的IndexController,它的的indexAction。這對所有在我的觀點,即指向的內容模塊,這樣
但是它不適合3個環節的工作環節,實際上對索引控制器的一個具體行動重定向工作正常,那很頁面主機名/ WMS /內容。
<a href="<?php echo $this->url(array('controller'=>'index','action'=>'add'));?>">Add new content</a>
而不是對在索引控制器的附加動作我重定向到主機名/ WMS /內容實際上重定向,至極的是我正在添加從頁面。
任何人都有一個想法,爲什麼發生這種情況,並可能有辦法解決這個問題?或者我完全接近這個錯誤的方式?
非常感謝!這確實解決了這個問題。我不知道需要向路由添加「/:action/*」,或者需要指定路由本身。 – 2012-04-25 14:58:02