24 set

CodeIgniter erro 404 Page Not Found / An Error Was Encountered.

O Famoso CodeIgniter 404 Page Not Found ao subir no servidor de hospedagem.

Após migrar de localhost para um servidor de hospesdagem, para minha surpresa eu dei de cara com um monstro “Codeigniter erro 404 Page Not Found / An Error Was Encountered”. De cara parecia ser algo muito simples de se resolver e de fato É, mas até eu descobrir o quão simples isso é, me rendeu uma grande dor de cabeça, noites mal dormidas e horas googando, e ainda sim não foi o suficiente, pois até então, ninguém deu a resposta que eu tanto precisava naquele momento, confesso que perplexo pela quantidade de pessoas que ainda passam ou passaram pelo mesmo problema que eu. Portanto como eu aprendi a amar meu próximo, não posso deixar de compartilhar dessa experiência até por que ninguém merece passar a dor de cabeça que eu passei com algo que relativamente é tão banal.

Bom, o negócio é o seguinte. Para resolver o erro 404 Page Not Found, que tem sua aplicação em localhost utilizando framework Codeigniter em ambiente Windows como é o meu caso, deve saber que o Windows é case INSENSITIVE diferentemente do Linux é CASE SENSITIVE, portanto que estiver migrando de um ambiente de desenvolvimento windows para um servidor de hospedagem devem ficar atendo com o nome dos controladores, devendo ficar todos em minúsculos, na dúvida, mantenham todos os nomes de arquivo da aplicação em minúsculo e isso certamente irá causar menores dores de cabeça com isso pode dar adeus ao  “404 Page Not Found”.

Para uma boa prática, vale lembrar também alguns outros pontos importantes nos arquivos de configurações do CI.

.Htaccess

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ index.php?/$1 [L]

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

application\config.php

$config['base_url'] = 'http://nomedosite.com.br/';
$config['index_page'] = 'index.php'; para $config['index_page'] = '';
$config['uri_protocol'] = 'AUTO'; para $config['uri_protocol'] = 'REQUEST_URI';

Boa sorte!
Genilson Silva

Share this

Deixe uma resposta