2012-01-26 55 views
0

我需要使用的URL像<controller>.<action>,例如:api.wwwhost.com/index.php?r= people.top與誼urlManager將非標準網址

所以,我試着寫圖案

'urlManager'=>array(
    'urlFormat'=>'path', 
    'showScriptName'=>false, 
    'caseSensitive'=>false, 
    'useStrictParsing'=>true, 
    'rules'=>array(
     '<controller:\w+>.<action:\w+>' => '<controller>/<action>', 
    ), 
), 

但它不起作用。據我所知,符號「。」不包含在「\ w +」中。

我的錯誤在哪裏?

回答

1

對於我來說,當處於「路徑」模式('urlFormat'=>'path')時,我無法使用index.php?r=people/top樣式的網址。當我處於path模式時,我的?r=樣式URL都不起作用。你有沒有經歷過同樣的事情?

當我處於「獲取」模式時('urlFormat'=>'get'),他們會這樣做,但在獲取模式下URL規則不會被處理,並且默認情況下默認只使用'/'作爲分隔符。

你的代碼沒有工作對我來說,當我用這種風格網址:

api.wwwhost.com/people.top 

當設置爲「路徑」模式(即'urlFormat'=>'path'),一定要有你的.htaccess文件設置正確使用它(隱藏index.php文件)。更多信息請點擊這裏Yii Guide about URLs