Boa tarde a todos!
Dessa vez irei falar sobre remover o arquivo index.php de nossa aplicação no CodeIgniter, e também fixar o nosso domínio para um só! Ou seja uma tática SEO para não ficar com múltiplas URLS.
Primeiro vamos falar para o nosso CodeIgniter que a página index.php não deve mais existir! para isso devemos editar o arquivo config.php dentro da nossa pasta application.
Muito fácil, basta remover o conteudo da varíavel $config[‘index_page’] ficando igual o código abaixo.
/* |-------------------------------------------------------------------------- | Index File |-------------------------------------------------------------------------- | | Typically this will be your index.php file, unless you've renamed it to | something else. If you are using mod_rewrite to remove the page set this | variable so that it is blank. | */ $config['index_page'] = "";
Agora vamos criar o nosso arquivo .htaccess
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / #Remove o acesso a pasta system RewriteCond %{REQUEST_URI} ^system.* #Redireciona /index.php/nomedocontroller/ to /nomedocontroller/função/ RewriteRule ^(.*)$ index.php/$1 [L] #se o arquivo não existir (um css ou javascript por exemplo) #ele redireciona para o index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] #aqui fazemos o redirecionamento 301 de uma url.com.br para www.url.com.br RewriteCond %{HTTP_HOST} ^(seusite\.com\.br)(:80)? [NC] RewriteRule ^(.*) http://www.seusite.com.br/$1 [R=301,L] </IfModule> <IfModule !mod_rewrite.c> #caso o mod_rewrite não esteja habilitado ele redireciona todo erro 404 #para o index.php ainda funcionando ErrorDocument 404 /index.php </IfModule>
Pronto!
Agora você terá sua URL mais amigável e alem de tudo otimizada para os buscadores!
Para veríficar um exemplo:
acesse meu site assim: http://williamrufino.com.br e você será redirecionado para http://williamrufino.com.br
Fonte: http://codeigniter.com/
www.mestreseo.com.br