Php MongoDB Yii和URL管理器
我在MongoID和Yii中的url管理器方面遇到了一些问题 如果我有如下url:Php MongoDB Yii和URL管理器,php,mongodb,yii,Php,Mongodb,Yii,我在MongoID和Yii中的url管理器方面遇到了一些问题 如果我有如下url: http://www.example.com/article/1 或 一切正常。现在来看问题。我正在使用MongoDB,因此我的URL如下所示: http://www.example.com/article/50e18c655b0c4dce75000033 'urlManager'=>array( 'urlFormat'=>'path', 'rule
http://www.example.com/article/1
或
一切正常。现在来看问题。我正在使用MongoDB,因此我的URL如下所示:
http://www.example.com/article/50e18c655b0c4dce75000033
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>/<id:\d+>/<cid:\d+>'=>'<controller>/<action>',
),
),
或
每个场景都会抛出一个404NotFound错误,就像它不能进入actionView一样。配置中的我的url管理器如下所示:
http://www.example.com/article/50e18c655b0c4dce75000033
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>/<id:\d+>/<cid:\d+>'=>'<controller>/<action>',
),
),
'urlManager'=>数组(
“urlFormat'=>“路径”,
'规则'=>数组(
“/”=>“/视图”,
'//'=>'/',
'/'=>'/',
'///'=>'/',
),
),
我在这方面做错了什么?如何让MongoID注册为ID?也有同样的问题。在我的情况下,这是邀请系统,它是非常重要的规则完全十六进制,因为我有邀请控制器以及
'invite/<invite_key:[a-fA-F0-9-]+>'=>'site/invite',
“邀请/”=>“站点/邀请”,
在你的情况下,我想应该是这样的
'urlManager'=>array(
'urlFormat'=>'path',
'rules'=>array(
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>/<id:[a-fA-F0-9-]+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
'<controller:\w+>/<action:\w+>/<id:\d+>/<cid:\d+>'=>'<controller>/<action>',
),
),
'urlManager'=>数组(
“urlFormat'=>“路径”,
'规则'=>数组(
“/”=>“/视图”,
'//'=>'/',
'//'=>'/',
'/'=>'/',
'///'=>'/',
),
),
也许你应该把
改成
,我真的不知道你的控制器是怎么工作的
我希望你能早点找到解决办法。但是Google在这里指出了几个请求。
\d+
匹配十进制数字,而不是十六进制。嗯,这部分我认为是
,它是仅用于数字的正则表达式,请尝试:
或其他