Question

I got a working webpage with CodeIgniter. I did now just upload it to my webserver and it gives me a 404 error.

The browser address is "web-page.com/folder/en/about"

The baseurl in the config is "web-page/folder/"

Also this is in the config.php, I did try AUTO but it does not work either.

$config['index_page'] = "";
$config['uri_protocol'] = "QUERY_STRING";

The index.php is in "web-page.com/folder/"

My htaccess is in "web-page.com/folder/.htaccess"

The content of the .htaccess is

AddCharset utf-8 .css .html .xhtml
Options +FollowSymlinks
RewriteEngine on
RewriteBase  /folder/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond $1 !^(index\.php|images|media|layout|css|libs|robots\.txt)
RewriteRule ^(.*)$ /folder/index.php?/$1 [L]

Do you have any tip, any idea, what can I try to do? I did check all the rights, even with 777 it does not work.

Thanks in advance.

Lukas

Was it helpful?

Solution 2

Okey, stupid, stupid me. I got it.

The error was in my "routes.php" I hadt to lowercase the default controller from

$route['default_controller'] = "Base";

to:

$route['default_controller'] = "base";

My offline server did work with it though. Thanks for the support.

OTHER TIPS

I know this should be a comment, but apparently I don't have enough rep yet. Who is your web host? That could sometimes throw a wrench in the whole process.

I know GoDaddy requires some different config settings for CodeIgniter to work right without the 'index.php'.

If it is, you'll need to change your uri_protocol config item to QUERY_STRING.

You can leave your index_page setting blank, but you'll need to update your htaccess file to something like this:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [L] 

It is at least worth mentioning, I was getting a 404 http code despite the fact that I could print data to screen. The problem came when trying to pass POST data between forms.

Long story short, make sure you have apache rewrite enabled:

apache2ctl -t -D DUMP_MODULES

OR, look for 'mod_rewrite' under "Loaded Modules" under "apache2handler" in phpinfo().

To enable apache rewrite:

sudo a2enmod rewrite

Hope this helps someone!

Try

$config['uri_protocol'] = REQUEST_URI 

changing between either REQUEST_URI or QUERY_STRING worked for me

if someone read this post again, don't forget check all uppercase and lowercase letter in url

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top