所以要找到这个网址(例如):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库
时发现问题答案 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();