当我尝试使用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')
),
),
答案 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有用吗?