2

私の Rest WebService では、都市や地域などを入れるためのいくつかのバリエーションが必要です。したがって、URI は次のようになります。

/rest/rating/locations?city=London

現在、次の関数を使用して最後の URI セグメントを取得しています。

$segcount = $this->uri->total_segments();
$lastseg = $this->uri->segment($segcount);

問題は、クエスチョン マークのすべてがカットされることです。保存される変数は次のとおりです。

config.php で次の構成を試みました。

$config['uri_protocol'] = 'PATH_INFO';
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-?';
$config['enable_query_strings'] = TRUE;

セグメント全体を疑問符で保存する他の方法はありますか?

4

2 に答える 2

2

まず、次のものがあることを確認してください。

$config['allow_get_array'] = TRUE;

enable_query_strings実際にはまったく別のものであり、あまり使用されていない古い機能です。

ここでは URI クラスはまだ役に立ちません。クエリ文字列を個別に参照する必要があります。

$segcount = $this->uri->total_segments();
$lastseg = $this->uri->segment($segcount);

// Either of these should work
$query_string = http_build_query($this->input->get());
$query_string = $this->input->server('QUERY_STRING');

$lastseg_with_query = $lastseg.'?'.$query_string;
于 2012-05-05T18:57:51.530 に答える