301 redirecionamento

votos
1
  1. Como faço para redirecionar uma url para o domínio. por exemplo. http://www.mydomain.com/index.php=HairThing -> http://www.mydomain.com

  2. Como faço para redirecionar um não-www para www sem uma barra no final?

por exemplo http://mydomain.com ---> http://www.mydomain.com

Publicado 10/12/2008 em 08:13
fonte usuário
Em outras línguas...                            


3 respostas

votos
4

Veja também: recursos ocultos do mod_rewrite

#1
RewriteRule /index.php=HairThing$ http://www.mydomain.com [R=301]

#2
RewriteCond %{HTTP_HOST} ^mydomain.com 
RewriteRule .*   http://www.mydomain.com [R=301] 

No entanto, caso exemplo 1, como disse Greg, vai sempre colocar o /sobre se é sem uri.

mydomain.com  # impossible 
mydomain.com/ # possible
mydomain.com/foo  #possible
mydomain.com/foo/ #possible
Respondeu 10/12/2008 em 08:22
fonte usuário

votos
2

Para a sua segunda questão, o navegador irá sempre colocar uma barra após o nome do site. Isso ocorre porque a barra final é necessária para indicar o caminho raiz do web site.

Respondeu 10/12/2008 em 08:21
fonte usuário

votos
0

você poderia usar uma regra geral que funciona em todos os domínios, sem ter que mudar o nome do domínio o tempo todo. Isto é muito útil quando você tem vários domínios estacionados na mesma raiz.

RewriteCond %{HTTP_HOST}    !^www\.[a-z0-9-]+\.[a-z]{2,6}   [NC]
RewriteCond %{HTTP_HOST}    ([a-z0-9-]+\.[a-z]{2,6})$       [NC]
RewriteRule (.*)            http://www.%1/$1                [L,R=301]
Respondeu 01/04/2009 em 12:32
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more