Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MongoDB Yii和URL管理器_Php_Mongodb_Yii - Fatal编程技术网

Php MongoDB Yii和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

我在MongoID和Yii中的url管理器方面遇到了一些问题

如果我有如下url:

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+
匹配十进制数字,而不是十六进制。嗯,这部分我认为是
,它是仅用于数字的正则表达式,请尝试:
或其他