Codeigniter 是否仅启用查询字符串访问以选择少数控制器功能?

Codeigniter 是否仅启用查询字符串访问以选择少数控制器功能?,codeigniter,Codeigniter,在几页中,我需要进行分页。这当然可以通过URI段实现,但在少数情况下,除了分页参数外,我还需要传递一些其他GET参数以进行过滤 显然,在这种情况下,我需要能够通过查询字符串访问控制器,如下所示: example.com/?c=controller&m=function 为了实现这一点,我在主配置文件中将enable\u query\u strings设置为TRUE 这似乎是可行的,但我发现它打破了一堆不同的东西。例如,如果我使用current\u url()返回的url在末尾有一个?以

在几页中,我需要进行分页。这当然可以通过URI段实现,但在少数情况下,除了分页参数外,我还需要传递一些其他GET参数以进行过滤

显然,在这种情况下,我需要能够通过查询字符串访问控制器,如下所示:

example.com/?c=controller&m=function
为了实现这一点,我在主配置文件中将
enable\u query\u strings
设置为TRUE

这似乎是可行的,但我发现它打破了一堆不同的东西。例如,如果我使用
current\u url()
返回的url在末尾有一个
以容纳查询字符串。所以如果我在表单中使用它,它就不起作用了


那么,有没有办法让控制器只对指定的函数访问控制器函数?

您可以这样构造url:

/param1/param2/pagination_parameters
因此,您将能够仅使用URI段发送自定义数据(参数数量)和分页数据

例如,如果我使用current_url(),返回的url是否有?最后 以容纳查询字符串。所以,如果我在形式上使用它,它不会 工作


请注意,您也可以将表单“action”留空,这样结果将与您使用当前url()时的结果相同(http请求将转到同一脚本)。

只需在分页配置中启用,而不是在主配置中启用启用查询字符串。因此,它将仅适用于该特定页面

例:


这不是一个真正的选择。参数的数量是可变的(在某些情况下根本没有参数),因此唯一可行的方法是使用键=值对。留白确实可以解决这个问题!谢谢尽管如此,我还是想找到一个解决方案,在这个解决方案中,我可以指定哪些控制器函数可以通过查询字符串访问,哪些不能“那么,有没有办法让控制器只对指定的函数访问控制器函数?”请您解释一下为什么要这样做,这里的问题到底是什么?好的,在几个页面中有分页,它必须使用可变数量的get参数。所以我想通过查询字符串访问这些页面。如果我启用全局查询字符串访问,它会阻塞其他东西。此选项只影响链接的格式,不会使实际函数通过查询字符串访问。
$config['page_query_string'] = TRUE;