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 回答
0

在您的配置文件中,确保以下设置为TRUE

$config['allow_get_array']= TRUE;
于 2012-05-05T18:55:36.103 回答