Como forçar o acesso ao site com www ou sem www no .htaccess

Muitas pessoas tem dúvidas sobre como forçar o acesso ao site com www ou sem www, quando o visitando visualiza o site em seu navegador.

Vamos supor que você tenha um site com o endereço seusite.com.br. e quer que ele apareça www.seusite.com.br. Se pensarmos em termos de otimização em sistemas de busca, é aconselhado ter apenas um formato de endereço.

Atualização: Se você usa site em WordPress, você não precisa fazer esa modificação no .htaccess. Basta acessar as configurações e alterar a forma de exibição no painel de administração

O que é .htaccess

O arquivo .htaccess é um arquivo de configuração do Apache. O .htaccess pode controlar diversos aspectos de nossas aplicações, sendo os mais comuns.

  • Acesso restrito
  • Padronização de páginas de erro
  • URL Amigáveis

Este arquivo fica na raiz de um site, e suas regras trabalham em todos os diretórios da sua aplicação. Para isso, você precisa acessar o arquivo .htaccess.

Cuidados antes de editar o .htaccess

A alteração no arquivo .htaccess, se feito de maneira errada, pode ter consequencias negativas. Antes de fazer qualquer modificação no .htaccess, é preciso que você faça uma cópia de segurança.

Como editar .htaccess

O arquivo .htaccess fica na raiz da aplicação. Você pode editar com qualquer editor de texto. Eu particularmente, recomendo o uso do Notepad++ para isso.

Forçar o uso do www

#Forçar o www.:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^seusite.com.br [NC]
RewriteRule ^(.*)$ http://www.seusite.com.br/$1 [L,R=301,NC]

Para forçar o não uso do www

#Forçar a retirada no www:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.seusite\.com [NC]
RewriteRule ^(.*)$ http://seusite.com/$1 [L,R=301]