According to CI's docs, CodeIgniter uses a segment-based approach, for example:
example.com/my/group
If I want to find a specific group (id=5), I can visit
example.com/my/group/5
And in the controller, define
function group($id='') {
...
}
Now I want to use the traditional approach, which CI calls "query string" URL. Example:
example.com/my/group?id=5
If I go to this URL directly, I get a 404 page not found. So how can I enable this?
Modify
application/config.php
at the line:Make this true instead. There are other details you'll have to pay attention to also. See here.
This is actually tested and confirmed
It works with any method you like; giving you freedom to mix match the query string and / segment approach (as opposed to the previous responses)
either you want to use:
(please note the trailing / before ?). OR
(depending on your url pattern definitions in the router file). OR EVEN
(though that looks awkward enough)
and in you codigniter's config/config.php file, set
CodeIgniter optionally supports this capability, which can be enabled in your application/config.php file. If you open your config file you'll see these items:
$config['controller_trigger'] = 'c'; $config['function_trigger'] = 'm';
If you change "enable_query_strings" to TRUE this feature will become active.
For reliable use of query strings I've found you need to do 3 things
application/config/config.php
set$config['enable_query_strings'] = true;
application/config/config.php
set$config['uri_protocol'] = "PATH_INFO";
I use the following
After setting
$config['enable_query_strings'] = TRUE;
in your config.php file, you can use the segment-based approach in conjunction with query strings, but only if you use 2 or more variables (separated by a "&") in the query string like this:See this answer for more information.
You may change
URI PROTOCOL
in yourconfig file
toand
It'll accept query strings and allow your URLs. Worked for me :)