0

我必须使用 http GET 方法从另一台服务器(令牌)接收信息。我可以在我得到它的时候更改 URL,所以我想我可以尝试让 GET 成为这样的操作中的参数:

start/tokenize/token?code=doekoedjorcfoehof

事实证明,在“?”之后的一切 被忽略。我也尝试定义一条路线:

$di->getRouter()->add("/tokenize?code={code}", "Start::tokenize");

所以这也被忽略了......

我认为 '?' 与 apache mod_rewrite 有关,是否可以使用特殊的 mod_rewrite 规则检索 GET?

4

1 回答 1

2

Router 组件无法从查询字符串中进行路由,它只解析路由 uri:

start/tokenize/token?code=doekoedjorcfoehof

该 URL 的路由如下:

$di['router'] = function() {

    $router = new Phalcon\Mvc\Router(false);

    $router->add('/start/tokenize/token', array(
        'controller' => 'tokenize',
        'action' => 'parse'
    ));

    return $router;
};

在您的控制器中:

<?php

class TokenizeController extends Phalcon\Mvc\Controller
{
    public function parseAction()
    {
        $code = $this->request->getQuery('code');
    }
}
于 2013-02-10T03:32:14.490 回答