如何在不启用的情况下使用URI段和查询字符串:enable_query_strings


How to use both URI segments and Query strings without enabling: enable_query_strings

在CodeIgniter中,同时组合URI段和查询字符串确实很棘手。实现这一目标的传统方法之一是启用enable_query_strings

问题是这有一些奇怪的行为,它也会影响所有的URL帮助器。

例如:redirect('/home')重定向到domain.com/?/home

根据我的知识,enable_query_strings不意味着与URI段一起使用。

那么如何扩展核心以使GET和URI开箱即用呢?

注:我知道最好只使用URI段,但有时接受像adwords.

这样的GET查询非常重要。

最好的解决方案是:

  • 确保您使用的是最新版本的CI,当前为2.0.2
  • 忘记误导enable_query_strings(这不是你想要的)
  • 打开配置文件,将allow_get_array设置为TRUE,这将允许您使用$_GET
  • 使用uri_protocol设置,直到找到适合您环境的设置,PATH_INFO适合我。
  • 享受正确查询字符串的使用!

enable_query_strings几乎破坏了所有使Codeigniter出色的功能,包括所有处理url的辅助函数。这是一个实验性的特性,自从CI出现以来,它就与普通的查询字符串支持混淆了。

底线-只要升级(如果你还没有),不要试图为它写一个hack。