0

因此,位于此网址(例如):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库时发现问题

4

3 回答 3

1

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

$config['enable_query_strings'] = true;

于 2012-02-24T23:20:10.437 回答
1

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

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

此外,值得从文档中包含此内容:

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

于 2012-02-25T16:15:06.803 回答
0

application/core/MY_Lang.php我在需要获得正确路径的地方结束了添加:

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

波纹管:$this->uri = $URI->uri_string();

于 2012-02-27T00:25:29.523 回答