Yii用户友好的url使用urlManager

时间:2013-07-26 16:12:34

标签: yii

当我尝试使用urlManager在Yii中重写URL时,我收到HTTP 404错误。

以下是我在main.php配置文件中尝试过的两种配置格式,一种是'pattern1'=>'route1',另一种是新格式array('route1', 'pattern'=>'pattern1')

'urlManager' => array(
            'urlFormat' => 'path',
            'rules' => array(
                'messageBulk'=>'message/apiBulk'
            ),
        ),

'urlManager' => array(
                'urlFormat' => 'path',
                'rules' => array(
                    array('message/apiBulk', 'pattern'=>'messageBulk')
                ),
            ),

2 个答案:

答案 0 :(得分:0)

您希望生成哪种网址?我对你在那里的配置感到有点困惑。无论如何,这是我用于项目的模板:

'urlManager'=>array(
        'urlFormat'=>'path',
        'rules'=>array(
             // REST patterns
            array('api/list', 'pattern'=>'api/v1/<model:\w+>', 'verb'=>'GET'),
            array('api/view', 'pattern'=>'api/v1/<model:\w+>/check', 'verb'=>'GET'),
            array('api/view', 'pattern'=>'api/v1/<model:\w+>/<id:\d+>', 'verb'=>'GET'),
            array('api/create', 'pattern'=>'api/v1/<model:\w+>', 'verb'=>'POST'),

            '<controller:\w+>/<id:\d+>/'=>'<controller>/view',
            '<controller:\w+>/<action:\w+>/<id:\d+>/*'=>'<controller>/<action>',
            '<controller:\w+>/<action:\w+>/*'=>'<controller>/<action>',
            '<controller:\w+>/<action:\w+>/'=>'<controller>/<action>',
            '<module:\w+>/<controller:\w+>/<action:\w+>/'=>'<module>/<controller>/<action>',
        ),
        //'showScriptName'=>false,
    ),

我希望它可以帮助你。

答案 1 :(得分:0)

写错了网址,缺少“index.php”。答案在@ ernie的评论中。

  

调试面板显示的是什么?您尝试使用规则访问哪些网址?你的yourwebsite.com/index.php/message/apiBulk有用吗?