Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

William Alvares

Redirect site sem www. para www.

Recommended Posts

Olá,

 

Tenho um site, e queria que ao entrar tivesse aquele zezeu de redirect 301..

 

Tipo meu site entra normal sem www. e com www.

 

É algum problemA entrar sem colocar www. ?

 

Ou é bom ter o www. toda vez ?

 

Como faço pra quando a pessoa entrar dominio.com.br

 

ir direto para www.dominio.com.br ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem ou com www, tudo irá funcionar perfeitamente. A escolha é sua. Só não pode é ter as duas, tem que redirecionar para uma delas ou o Google irá indexar o seu site duas vezes e puni-lo (rebaixando-o no ranking) por conta disso.

 

Redirecionar de www. para sem www

<IfModule mod_rewrite.c>
    RewriteCond %{HTTPS} !=on
    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
</IfModule>

Redirecionar de sem www para www.

<IfModule mod_rewrite.c>
    RewriteCond %{HTTPS} !=on
    RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
    RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

 

Escolha uma das duas alternativas e coloque o código necessário como a primeira regra no seu .htaccess.

 

A opção com www. não é indicada se você quiser usar subdomínios "reais".

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso você tem que criar um arquivo extamente com este nome .htaccess, a grosso modo ele serve para fazer configurações no servidor como: regras de diretórios, redirecionamento para paginas de erros entre muitas outras coisas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crio junto com as paginas do site?

 

Quando você contrata uma hospedagem com servidor Linux/Apache, esse arquivo já estará presente no diretório raiz (htdocs ou www) do site. Se não estiver, basta criá-lo.

 

Se quiser saber mais, basta usar a Wikipédia e o Google!

 

 

 

:google: Pesquise por "arquivo .htaccess"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Blz,

 

Aqui onde fica os arquivos do site é em uma pasta chamada "httpdocs"

 

Abro ela e ja tem os arquivos do site.. index... só criar junto ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Blz,

 

Aqui onde fica os arquivos do site é em uma pasta chamada "httpdocs"

 

Abro ela e ja tem os arquivos do site.. index... só criar junto ?

:yes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

IIS é outro servidor. Como eu disse lá em cima, aquelas regras só servem para "servidor Linux/Apache".

 

No IIS, o arquivo de configuração se chama [inline]web.config[/inline] ao invés de [inline].htaccess[/inline].

 

Se você quer rodar um site PHP, é melhor usar um servidor Linux-Apache-MySQL-PHP (LAMP), pois além de ser mais barato, fica mais fácil conseguir suporte/ajuda (pois quase todo mundo usa essa configuração) e PHP roda um pouco mais lento no IIS. Basta solicitar a migração de seu plano Windows/IIS para um plano Linux/Apache.

 

Se ainda assim quiser continuar em um server Windows/IIS, então você precisará configurar de forma um pouco diferente:

 

Esse arquivo web.config é baseado em XML. Se já existir esse arquivo e ele já estiver com a estrutura básica incluída nele, então basta você editá-lo. A estrutura básica desse arquivo é essa:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <!-- AQUI FICAM OS PARAMETROS DE CONFIGURAÇÃO --<
  </system.webServer>
</configuration>

No interior dessa estrutura (dentro da tag <system.webServer>), você deve iniciar o bloco de regras de reescrita (rewrite rules):

    <rewrite>
      <rules>
        <!-- UMA DAS REGRAS ABAIXO DEVERÁ SER COLOCADA AQUI -->
      </rules>
    </rewrite>
Agora dentro da tag <rules> você deve colocar uma das regras abaixo, dependendo se você quer redirecionar de "com www para sem www" ou de "sem www para com www", respectivamente:

<rule name="Redirecionar com www para sem www" stopProcessing="true">  
  <match url="(.*)" />  
  <conditions>  
    <add input="{HTTP_HOST}" pattern="^www\.(.+)" />  
  </conditions>  
  <action type="Redirect" url="http://{R:2}/{R:1}" redirectType="Permanent" />  
</rule>
<rule name="Redirecionar sem www para com www" stopProcessing="true">  
  <match url="(.*)" />  
  <conditions>  
    <add input="{HTTP_HOST}" negate="true" pattern="^www\..+$" />  
  </conditions>  
  <action type="Redirect" url="http://www.{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />  
</rule>

Obs.: não testei aqui pois não tenho nenhum servidor com IIS. Teste aí e me informe qual a mensagem de erro, se houver alguma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então deixa eu ver se entendi..

 

Crio um arquivo com nome web.config.xml > @EDIT > web.config "sem o .xml neh..

 

Funcionou !! \o/ rep+

 

Adiciono dentro:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <rewrite>
      <rules>
   <rule name="Redirecionar sem www para com www" stopProcessing="true">  
  <match url="(.*)" />  
  <conditions>  
    <add input="{HTTP_HOST}" negate="true" pattern="^www\..+$" />  
  </conditions>  
  <action type="Redirect" url="http://www.{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" />  
</rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

E salvo ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.