Codeigniter uri_string没有返回完整路径

时间:2012-02-24 22:57:51

标签: php codeigniter uri pathinfo

所以要找到这个网址(例如):http://localhost/codeigniter-app/en/results?search_query=data

uri_string未返回所需的路径

["uri_string"]=>
  string(10) "en/results"

和预期的:

["uri_string"]=>
  string(10) "en/results?search_query=data"

我的一些config.php

$config['uri_protocol'] = 'AUTO';
$config['url_suffix'] = '';
$config['allow_get_array']      = TRUE;
$config['enable_query_strings'] = false;

有什么想法吗?

修改

使用http://codeigniter.com/wiki/CodeIgniter_2.1_internationalization_i18n

时发现问题

3 个答案:

答案 0 :(得分:1)

你已经关闭了查询字符串 - 上次我使用CI(回到1.7.x),它忽略了它们。尝试打开它们:

$config['enable_query_strings'] = true;

答案 1 :(得分:1)

我相信您必须使用$this->input->get()来访问查询字符串,根据您的示例,该字符串会产生:

array(1) { ["search_query"]=> string(4) "data" }

此外,值得包含此from the documentation

  

请注意:如果您使用查询字符串,则必须构建自己的URL,而不是使用URL帮助程序(以及生成URL的其他帮助程序,如某些表单帮助程序),因为它们旨在与段一起使用基于URL。

答案 2 :(得分:0)

我在application/core/MY_Lang.php中添加了这个,我需要获得正确的路径:

if(preg_match('/results/', $this->uri))
{
    $this->uri = $this->uri.'?'.$_SERVER['QUERY_STRING'];
}
吼叫:$this->uri = $URI->uri_string();