quinta-feira, 17 de setembro de 2015

CodeIgniter - 404 Not Found error

Linux: Debian 7
Apache: 2.4.10 (Debian)
PHP: 5.6.9-0+deb8u1

Ao usar o CodeIgniter, você poderá se deparar com o erro 404, aonde a aplicação não consegue seguir a rota para acessar determinada url, mesmo estando com o seu .htaccess corretamente configurado. O problema está em permitir que o PHP possa usar as configurações no htaccess. Para isso, altere o diretiva AllowOverride que está presente no bloco de diretivas do Directory /var/www, veja:

<Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
</Directory>

No caso acima, a minha configuração não permitia que as instruções do meu .htaccess pudessem ser usadas. Para corrigir isso apenas altere de None para All, na diretiva AllowOverride.

No Debian 7, essa configuração será alterada no arquivo /etc/apache2/sites-available/default, e após a alteração ficará na seguinte forma:

<Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
</Directory>

Feita a alteração, reinicie o apache:

$ sudo service apache2 restart

Dê F5 na sua aplicação e pronto!


Atualização - 30/07/2018


No LDME 2, que usa o Debian 8, o arquivo para a configuração é o /etc/apache2/apache2.conf .

Nenhum comentário:

Postar um comentário