2011-06-03 147 views
1

我使用的模塊佈局來構建我的控制器:Zend的路由器問題

:模塊/:控制器/:動作

我想補充一個新的自定義路由,這樣下面的網址會工作。

domain.com/username

其中用戶名是在網站上,任何註冊用戶的用戶名。

任何人都可以指向正確的方向嗎?

謝謝

回答

-1

http://framework.zend.com/manual/en/zend.controller.router.html涵蓋了相當良好的所有不同的方式,你可以添加路由。請記住,一旦你添加了自定義路線,默認的路線就不會工作了,除非你明確地定義它(以及在URL視圖助手等)。

+0

我很欣賞這種努力。但是沒有必要引用文檔。我讀過它了。我的問題是關於路由處理中的一個不尋常的情況。 – iBiryukov 2011-06-04 23:49:53

0

不確定您是否可以製作類似domain.com/username的東西。相反,你可以做domain.com/u/usernamedomain.com/user/username。例如,爲了使第二條路在你的application.ini你可以把類似下面的內容:

resources.router.routes.user.route = "/user/:user" 
resources.router.routes.user.type = "Zend_Controller_Router_Route" 
resources.router.routes.user.defaults.module = default 
resources.router.routes.user.defaults.controller = user 
resources.router.routes.user.defaults.action = user 
resources.router.routes.user.defaults.user = 
resources.router.routes.user.reqs.user = "\s+" 
+0

不是你不能做那個/用戶名的URL,但你的建議是非常好的。有沒有任何關鍵字的通用網址是不好的做法,因爲你最終有一些聯合行動,這將有更多的邏輯來確定該網址是用戶名,頁面或其他。在網址中使用關鍵字總是更好。 – 2011-06-04 12:23:46

+0

>>在你的網址中使用關鍵字總是更好 從開發者的角度來看,這確實更好。但是,從用戶的角度來看,爲他們的頁面設置一個友好的URL會更好。 @marcin我知道如何處理標準案例。我的問題具體是關於非標準問題。 – iBiryukov 2011-06-04 23:48:25