2013-01-02 37 views
0

我有網址,localhost/user/about/id/5,我想它轉換成像localhost/john.doe/about,是否有可能在Yii做到這一點?Yii URLManager的用戶名在URL

john.doe是指用戶名 about指行動

我想隱藏控制器的名稱,在這種情況下user

感謝您的幫助

回答

1

是你需要使用自定義UrlRule如文檔here (Using Custom Url Classes)。然後,您可以剝離課程中的URL,嘗試找到用戶名(如果該用戶名不存在,只需return false),然後讓剩餘的URL規則處理。

請記住,放置自定義URL規則的順序越高,運行的次數越多(因爲UrlManager將在第一個匹配規則中退出),因此如果您將它放在正確的位置在頂部。

獎金
這也將幫助您生成的網址,你可以只通過一個用戶名作爲參數傳遞給正常的URL,讓你的類做複雜一點。