Yii urlManager的非标准URL


Non-standard urls with Yii urlManager

我需要使用类似<controller>.<action>的URL,例如:api.wwwhost.com/index.php?r=人员。顶部

所以,我试着写模式

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

但它不起作用。据我所知,符号"."不包括在"''w+"中。

我的错误在哪里?

对我来说,在"路径"模式('urlFormat'=>'path')下,我不能使用index.php?r=people/top样式的URL。当我处于path模式时,我的?r=样式URL都不起作用。你也经历过同样的事情吗?

当我处于"获取"模式('urlFormat'=>'get')时,它们会执行,但在获取模式下,URL规则不会被处理,并且默认情况下似乎只对分隔符使用"/"。

当我使用这种风格的URL:时,你的代码确实对我有用

api.wwwhost.com/people.top

设置"路径"模式(即'urlFormat'=>'path')时,请确保正确设置.htaccess文件以使用它(隐藏index.php文件)。有关URL的更多信息,请参阅Yii指南。