CodeIgniter – removendo o index.php e removendo o www da url. (url canonica)

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

Como escrever um model melhor no CodeIgniter

Este post é uma tradução.
Link para o artigo original: http://shawnmccool.com/2009/08/28/how-to-write-a-better-model-in-code-igniter/

Desenvolver utilizando um framework MVC pode ajudar e muito para aumentar a reutilização e robustez do seu código. Neste artigo eu me concentro em métodos de escrita de models para o CodeIgniter Os conceitos em si não são específicos para o Code Igniter, mas parte do código será.

Métodos CRUD

CRUD é a sigla para Create, Retrieve, Update, and Delete. Ou seja criar, pegar, atualizar e apagar. Estes são os tipos mais básicos de interação que sua aplicação terá com o banco de dados.

Iniciando com o CodeIgniter

Para iniciar o blog, vou comentar a instalação do CodeIgniter framework PHP que venho utilizando para os projetos mais recentes.

Primeiro você deve fazer o download da versão mais recente do framework em: http://codeigniter.com/download.php Após o download descompacte, e coloque o conteúdo na pasta do seu aplicativo.