Reputation: 5030
I am trying to remove the index.php in the url for Code Igniter. According to the official guide, I should add the following code to the .htaccess file.
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
This is not working.
So I do more searches and some say that I should remove the default configuration on the index page, so I make the changes in the config.php file:
$config['index_page'] = '';
It is still not working. Then, on more searches, I found different version of the code, like this one (there is just an example, I have tried many version already)
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]
I initially put the code in the .htaccess of the root directory, but as it is not working, I also try adding it to .htaccess in other directory. Yet, still not working.
I am just using the default welcome page for testing, so I am sure it is not the problem of coding. i.e.
http://localhost/projectFolder/CodeIgniter/welcome/
Anybody got idea what have I missed?
Upvotes: 0
Views: 232
Reputation: 13640
I'm assuming that whatever folder that http://localhost/projectFolder/CodeIgniter/
maps to is your docroot and that the .htaccess
file is inside that directory.
If that is the case, then your code is correct - so it's a matter of your apache config. Make sure that you are allowing .htaccess
files by changing the Directory block - AllowOverride All
.
Take a look at this page for help doing that.
Upvotes: 1
Reputation: 1447
Make this changes to config file
$config['base_url'] = 'http://localhost/projectname/';
$config['index_page'] = '';
Then in ur .htaccess try
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|(.*)\.swf|forums|images|css|downloads|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php?$1 [L,QSA]
Also make sure that you have mod_rewrite
enabled in your apache configuration
The .htaccess file should be in root directory of your project, ie outside application folder
Upvotes: 0
Reputation: 745
I think the following code should work for you
RewriteEngine on
RewriteCond $1 !^(index\.php|css|js|public|themes|captcha|robots|documents|\.txt)
RewriteRule ^(.*)$ /projectFolder/index.php/$1 [L]
Hope this helps you.
Upvotes: 0