在CodeIgniter中,同时组合URI段和查询字符串确实很棘手。实现这一目标的传统方法之一是启用enable_query_strings
。
问题是这有一些奇怪的行为,它也会影响所有的URL帮助器。
例如:redirect('/home')
重定向到domain.com/?/home
根据我的知识,enable_query_strings
不意味着与URI段一起使用。
那么如何扩展核心以使GET和URI开箱即用呢?
注:我知道最好只使用URI段,但有时接受像adwords.
最好的解决方案是:
- 确保您使用的是最新版本的CI,当前为2.0.2
- 忘记误导
enable_query_strings
(这不是你想要的) - 打开配置文件,将
allow_get_array
设置为TRUE
,这将允许您使用$_GET
- 使用
uri_protocol
设置,直到找到适合您环境的设置,PATH_INFO
适合我。 - 享受正确查询字符串的使用!
enable_query_strings
几乎破坏了所有使Codeigniter出色的功能,包括所有处理url的辅助函数。这是一个实验性的特性,自从CI出现以来,它就与普通的查询字符串支持混淆了。
底线-只要升级(如果你还没有),不要试图为它写一个hack。