0

我在使用 MongoID 和 Yii 中的 url 管理器时遇到了一些麻烦。

如果我有这样的网址:

http://www.example.com/article/1

或者

http://www.example.com/article/view/1

一切正常。现在解决问题。我正在使用 MongoDB,所以我的网址如下所示:

http://www.example.com/article/50e18c655b0c4dce75000033

或者

http://www.example.com/article/view/50e18c655b0c4dce75000033

并且每个场景都会抛出 404 not found 错误,就像它无法进入 actionView。我在配置中的 url 管理器如下所示:

'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>',
            ),
        ),

我做错了什么,如何让 MongoID 注册为 id?

4

1 回答 1

0

有同样的问题。我的情况是邀请系统,准确地规则十六进制非常重要,因为我也有 InviteController。

'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>',
            ),
        ),

也许您应该更改<id:[a-fA-F0-9-]+><cid:[a-fA-F0-9-]+>,我真的不知道您的控制器是如何工作的。

我希望你早一点找到解决方案。但是谷歌在这里指出了几个请求。

于 2013-04-05T19:37:07.080 回答