Read about what enable_query_strings really does and make sure that it is actually what you want. This is actually just a way to include $_GET .
Confused, I know. Please check out the latest version (currently 2.0.2) and enable allow_get_array configuration allow_get_array . This allows you to support normal $_GET CI support.
enable_query_strings was some kind of strange experimental function, which for some reason is saved in new versions (do people really use it?). This was not and never was a way to use $_GET in normal use, which we all know.
EDIT: It appears that all the helpers of the URL, and all the functions that define your URLs for you, are blocked if you enable this.
In the User Guide enable_query_strings :
Please note: if you use query strings, you will have to build your own URLs, not using the helpers URLs (and other helpers that generate URLs, for example, some of the form helpers), as these are designed to work with Segment Based URLs
So, if you are sure that this is what you want, Karl answer (using vanilla php header for redirection) is pretty much your only hope. Or you can try to provide the full url, because, like base_url() , is probably broken too (?):
redirect('http://full-urls-are-tedious.com/blog');
But it may not even work ...
source share