Eu criei um arquivo .htaccess na raiz do meu documento em /var/www/html/
reescrever o URL do Codeigniter para remover "index.php" do URL de todas as páginas.
por exemplo. Alterar URL de
http://myhost/index.php/controller/function
para
http://myhost/controller/function`
Aqui está o código do meu `/var/www/html/.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Recebi muitas sugestões do Google para ativar o módulo de reescrita de mod, mas posso ver no meu httpd.conf
já está ativado.
LoadModule rewrite_module modules/mod_rewrite.so
Isso está funcionando perfeitamente no meu sistema local em execução no Debian 7 (Apache / 2.4.4).
Qualquer ajuda seria apreciada. :)
Respostas:
11 para resposta № 1Você também precisa especificar os locais que podem usá-lo. Por exemplo, em /etc/httpd/conf/httpd.conf, você deve ver algo como:
<Directory "/var/www/html">
...lots of text...
</Directory>
Certifique-se de que possui:
<Directory "/var/www/html">
AllowOverride All
</Directory>
0 para resposta № 2
É possível que seu servidor centos não esteja configurado para lidar com PATH INFO. Tente substituir o index.php/$1
no alvo da sua regra para index.php?/$1
.
Em seguida, você precisa modificar sua configuração de IC para ativar as cadeias de consulta: http://ellislab.com/codeigniter/user-guide/general/urls.html
Em você application/config.php
conjunto de arquivos $config["enable_query_strings"]
para TRUE
.