I am going through an identical problem having a 404 error message. I am using CI 2..2 and I've got a fundamental hosting that is shared with 1and1, and my .htaccess situated during my website root (/mywebsite/.htaccess) directory also it appears like this
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond % !-f RewriteCond % !-d RewriteRule ^(.*)$ index.php/$1 [L] AddType x-mapp-php5 .php AddHandler x-mapp-php5 .php </IfModule> <IfModule !mod_rewrite.c> ErrorDocument 404 index.php </IfModule>
During my config.php file I've the next:
<?php $config['base_url'] = 'http://mywebsite.com' $config['index_page'] = '' $config['uri_protocol'] = 'REQUEST_URI'
It does not appear I actually do I keep obtaining the 404 page not found error :http://d.pr/F2KR
I've spent several hrs on searching for a fix for your problem and haven't had the opportunity to repair it.
Any Suggestions, tips, or perhaps an actual response to this is greatly appreciated.
UPDATE 1: I known as 1and1 plus they explained that it should be an issue with the index.php since that 404 error message is produced by CodeIgniter and never the server. exist other configuration values which i ought to be searching at?
UPDATE 2: I discovered that there's a situation sensitive problem (this really is odd since both localhost and server are UNIX/LINUX correspondingly), when the controller class is known as Login, then your path must be mysite.com/Login/ it can't be mysite.com/login/. I am still unsure how this problem is going to be resolved, I'd rather not re-write a lot of pathways.
UPDATE 3 (RESOLVED): As mentioned on update 2, the problem wasn't the .htaccess, however the naming plan of my models and remotes, more particularly the file names. Apparently on my small Mac (dev machine) I'm able to have models known as User.php or Login.php and can make no difference basically use upper or lower situation within the URL, but the moment I submitted my code into 1and1, I stored obtaining the CI "404 not found" error message. My particular means to fix the issue ended up being to change all of the models and remotes file names to lowercase as recommended about this publish http://codeigniter.com/forums/viewthread/129013/#636849.
RewriteEngine On RewriteBase / RewriteCond % ^system.* RewriteRule ^(.*)$ /index.php?/$1 [L] RewriteCond % ^application.* RewriteRule ^(.*)$ /index.php?/$1 [L] RewriteCond % !-f RewriteCond % !-d RewriteRule ^(.*)$ index.php?/$1 [L]
Try modifying the very first
<if> towards the code above, works best for my codeigniter setup.
Unsure concerning the
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php...
To be sure w/Chris, to be certain you've mod_rewrite enabled you can test to alter the 404 page:
<IfModule !mod_rewrite.c> ErrorDocument 404 index.php </IfModule>
to another thing just like a dummy page
<IfModule !mod_rewrite.c> ErrorDocument 404 my_dummy_page.html </IfModule>
should you start to havin the brand new 404 dummy page it is because you do not have mod_rewrite enabled.
I personally use this htaccess on my small 1and1 and my CI2 runs fine. Its situated within the CI base folder. Also make certain that the .htaccess includes a .(us dot) within the title, generally home windows removes that us dot.
Options -Indexes DirectoryIndex index.php AddType x-mapp-php5 .php AddHandler x-mapp-php5 .php RewriteEngine on RewriteBase / RewriteCond % ^example.in RewriteRule (.*) http://world wide web.example.in/$1 [R=301,L]