quinta-feira, 10 de dezembro de 2009

Como remover o index.php da URL no Codeigniter

Nesse artigo vou tentar ensinar o modo mais simples de remover o nome index.php da URL. Isso além de deixar a URL mais amigável, no meu ponto de vista também pode influênciar em boas práticas de SEO.

1 - É preciso criar um arquivo com o nome "
.htaccess". Pode ser feito até mesmo pelo bloco de notas. Abra o editor e insira o seguinte código:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L]




Após inserir salve ele com o nome .htaccess

Esse arquivo tem que ficar na pasta raiz do site, ou seja na mesma pasta onde se encontra a pasta "system".


Após essa etapa é preciso abrir o arquivo config.php que está localizado do diretório
system\application\config. Ao abrir o arquivo é necessário procurar a linha $config['index_page'] = ""; e $config['uri_protocol'] = "AUTO"; como segue a imagem abaixo.




Caso não funcione pode trocar o "AUTO" pelo "REQUEST_URI", que está marcado na imagem.

Também não pode esquecer de remover o texto index.php da linha $config['base_url']. E caso o site já esteja pronto ou quase pronto lembre-se de remover o index.php dos href, porém mesmo assim funciona.

O que no meu ponto de vista creio que ajuda no SEO, é fazer palavras compostas com os nomes dos controller juntando com as function e principalmente com seus parâmetros, que para melhorar ainda mais, podem suportar palavras com acentos e - (hífens) para aumentar a relevância da URL e deixá-las mais dinâmicas. Sem contar que seria ótimo se escolhecem palavras-chaves que contenham no corpo do site, pricipalmente em strong, a, h1, h2... title, entre outras.

É isso.