3

Codeigniter は「url」oauth://applicationを適切にリダイレクトせず、次のように現在のドメインの後に固定します。

http://mywebsite.com/index.php/oauth://application

コードは次のようになります。

redirect("oauth://application", "location"); // changing to refresh doens't work either.

これを機能させる方法はありますか?Android アプリにリダイレクトしようとしています。

どうもありがとう。

4

1 に答える 1

5

PHP のネイティブheader関数を使用することもできます。

header('Location: oauth://application', TRUE, 302);
exit;

CI の機能を微調整したい場合は、 URL チェックを作成application/helpers/my_url_helper.phpして調整するだけです。preg_match

function redirect($uri = '', $method = 'location', $http_response_code = 302)
{
    // if ( ! preg_match('#^https?://#i', $uri))
    if ( ! preg_match('#^(https?|oauth)://#i', $uri))
    {
        $uri = site_url($uri);
    }

    switch($method)
    {
        case 'refresh'  : header("Refresh:0;url=".$uri);
            break;
        default         : header("Location: ".$uri, TRUE, $http_response_code);
            break;
    }
    exit;
}
于 2012-07-01T17:33:54.480 に答える