I'm working on a site with a few controllers, and have configured my server to redirect requests for http://www.host.com/controller/function/params tohttp://www.host.com/index.php/controller/function/params using some simple regular expression matching in the apache config. Now, I am trying to get one of my controllers to redirect to another one, but without adding the index.php to the URL, which is what the redirect() function does. Is there an easy way to do this in codeigniter? Thanks beforehand!
Add a comment
|
3 Answers
You can use redirect. It only adds index.php if it is configured as your index page.
So, check your index_page configuration. It should be an empty string:
$config['index_page'] = '';
File: app/config/config.php
More info: http://www.codeigniter.com/user_guide/general/urls.html?highlight=mod_rewrite [Updated Version]
3 Comments
SuperTron
By the way, does that config parameter affect anything else in codeigniter or is it strictly for the redirect?
J. Bruni
If affects several URL related functions, like
site_url(), for example (which btw is used by redirect)codelone
worked in Codeigniter 4 in
app/config/App.phpyou needs to add another .htaccess to root folder of your codeignitor based project and write there some redirect rules as below example :
RewriteEngine On
RewriteBase /codeignitortest/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?$1 [QSA,L]
or can make below in application/config/config.php
$config['index_page'] = 'index.php'; to $config['index_page'] = '';