CakePHP在FireFox中命名参数导致问题

时间:2012-04-04 15:55:47

标签: firefox url cakephp encoding named-parameters

我们在2.0上运行了一个cakephp应用程序,我们似乎对Firefox有一些编码问题。

我们访问的URL是/ newcms / core / users / index / conditions [User] [group_id]:6在cms系统中应用过滤器。

除了FireFox之外,我们在请求对象上获得以下内容

[params] => Array
        (
            [plugin] => core
            [controller] => users
            [action] => newcms_index
            [named] => Array
                (
                    [conditions] => Array
                        (
                            [User] => Array
                                (
                                    [group_id] => 6
                                )

                        )

                )

            [pass] => Array
                (
                )

            [prefix] => newcms
        )

哪个是正确的,一切正常,如果我们在FireFox中转到相同的网址

[params] => Array
        (
            [plugin] => core
            [controller] => users
            [action] => newcms_index
            [named] => Array
                (
                    [conditions%5BUser%5D%5Bgroup_id%5D] => 6
                )

            [pass] => Array
                (
                )

            [prefix] => newcms
        )

我尝试过编码指定条件值的URL,但没有运气..

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

在您的网址中使用括号和数组结构可能不是一个好主意。

为什么不使用这样的东西?:

/newcms/core/users/index/user_group:6

然后处理控制器中的数据。

答案 1 :(得分:0)

经过一段时间的挖掘和玩弄GitHub中最新版本的蛋糕后,我已经修复了这个FF问题(https://github.com/cakephp/cakephp/commit/e6905b44c3d4512b6989c59a1489bc983d88bcdc)。

在URI中传递方括号没有什么不对,这只是FF编码方式与其他浏览器不同的问题。