acabou que eu precisava de RewriteBase:
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(index\.php|css|gfx|js|swf|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]
Alguém pode me ajudar com isso. Estou me sentindo como se estivesse batendo minha cabeça contra uma parede por mais de 2 horas agora.
Eu tenho o Apache 2.2.8 + PHP 5.2.6 instalado na minha máquina e o .htacces com o código abaixo funciona bem, sem erros.
RewriteEngine on
RewriteCond $1 !^(index\.php|css|gfx|js|swf|robots\.txt|favicon\.ico)
RewriteRule ^(.*)$ /index.php/$1 [L]
O mesmo código no servidor do meu provedor de hospedagem me fornece um código de erro 404 e apenas as saídas: Nenhum arquivo de entrada especificado. index.php está lá. Eu sei que eles têm o Apache instalado (não é possível encontrar informações sobre a versão em qualquer lugar) e eles estão executando o PHP v5.2.8.
Eu estou no windows xp 64-bit, eles estão executando alguns modos Linux e php no cgi / fastcgi. Alguém pode sugerir qual poderia ser o problema?
PS. se isso é importante para o CodeIgniter trabalhar com URLs amigáveis.
Eu tive o mesmo problema ao tentar configurar uma URL amigável para o meu projeto CodeIgniter. Eu finalmente percebi isso. Vamos dar uma olhada na configuração do meu apache2:
<Directory /home/hai/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
O problema está na linha que disse AllowOverride None . Alterar Nenhum para Tudo e funciona:
<Directory /home/hai/www>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
Atualização: informações do meu sistema:
A propósito, eu sou novo em web design, php e CodeIgniter (acabei de começar o PHP na semana passada e o CodeIgniter ontem), então por favor, gentilmente aponte qualquer erro na minha resposta.
Update2: Se depois você receber o código de erro 500 em vez de 404. Isso significa que você não tem o módulo de reescrita ativado. Emita o seguinte comando para corrigi-lo:
$ sudo a2enmod rewrite
Tags .htaccess apache-2.2