Como fazer redirecionamento 301 no arquivo .htaccess - exemplos detalhados

impressão · Время на чтение: 16mínimo · por · Publicados · Atualizada

reproduzirOuça o artigo

Redirecionamento 301 como fazer - exemplos.

Vamos dar uma olhada nas regras básicas de redirecionamento que se aplicam ao arquivo .htaccess. Exemplos de como fazer redirecionamentos 301 em arquivo .htaccess. Por que você precisa de um redirecionamento e seus recursos. O efeito dos redirecionamentos na página final e como isso será útil.

Redirecionamento 301 (redirecionamento permanente) - esta é uma das regras básicas que devem ser escritas em .htaccess. A principal tarefa do 301 é Redirecta, redirecionando o usuário para o endereço da página especificada na regra.

O que é redirecionamento permanente 301 e código de status HTTP 301?

Redirecionamento 301 - o que é e como configurar.

Redirecionamento Permanente 301 é uma indicação padrão de que uma página ou recurso foi movido para um novo local. Assim, o usuário, ao visitar uma página, é redirecionado para o endereço de sua nova localização.

O bot de pesquisa ou outros bots de terceiros recebem o código de resposta HTTP 301 apropriado. Isso significa que a página ou recurso completo foi movido permanentemente para um novo endereço. Assim, todas as propriedades principais da página vão para o endpoint de redirecionamento. Indicando aos mecanismos de pesquisa para revisar todos os URLs de entrada atuais. Para a posterior transferência de peso para a página final (recurso).

Redirecionamento permanente 301: Este é o principal termo em SEO usado na padronização de URLs. Talvez todo mundo conheça esse termo, mas como não é usado com muita frequência, muitos SEOs profissionais não estão muito familiarizados com redirecionamentos 301 permanentes.

Qual é o efeito de usar redirecionamentos 301:

Um redirecionamento permanente 301 é um método de redirecionamento que está em conformidade com as regras do mecanismo de pesquisa entre todos os métodos de redirecionamento. Outros métodos de redirecionamento incluem redirecionamento 302 temporário, redirecionamento JS, etc. Esses métodos podem resultar em URLs ruins.

Portanto, se você tiver vários nomes de domínio e quiser permitir que eles visitem o mesmo site, poderá usar apenas um deles como seu nome de domínio principal e os outros nomes de domínio restantes realizarão um redirecionamento 301 permanente para esse nome de domínio principal. Se diferentes nomes de domínio visitarem o mesmo site e o redirecionamento correto não for reativado, isso penalizará o site.

301 Redirecionamento Permanente em Search Engine Optimization e SEO

Todos os mecanismos de pesquisa, especialmente os principais Google e Yandex, suportam totalmente o uso de redirecionamentos. Isso permite que você indique ao robô de busca que vários endereços diferentes precisam ser combinados em 1. Nesse caso, apenas aquele para o qual o redirecionamento é realizado será o endereço principal.

Para SEO, esta é uma ferramenta de promoção adicional indispensável. Por exemplo, permitindo que você especifique o mecanismo de pesquisa:

  • Para um novo endereço de site ou um novo domínio. Para a transferência subsequente de todas as propriedades do antigo endereço (domínio) para um novo domínio.
  • Redirecione com add. espelhos no principal. Por exemplo, quando um recurso está disponível em www e sem www. Ou usa (https), mas também está disponível via http.

Regras básicas para usar um redirecionamento

  • Primeiro, você precisa colocar os redirecionamentos na ordem correta na regra. Use os redirecionamentos mais frequentes (acima) e os mais globais abaixo.
  • Em segundo lugar, evite vários redirecionamentos. Isso terá um impacto extremamente negativo na promoção do site de SEO. O bot de pesquisa, ou o usuário neste caso, será redirecionado várias vezes. Por exemplo: de uma página, para a 2ª, depois para a 3ª. Isso é ruim e incorreto do ponto de vista do SEO.
  • Em terceiro lugar, tente não fazer redirecionamentos cíclicos (um para o outro, em círculo). Isso afetará negativamente a distribuição de peso entre as páginas especificadas na regra.
  • Quarto - não esqueça que a maioria dos navegadores usa hash. Portanto, todos os redatos devem ser verificados quanto à relevância por recursos de terceiros.

Como configurar redirecionamentos 301 no arquivo .htaccess

O próprio arquivo .htaccess está localizado no diretório principal do site. O trabalho com ele é feito com muito cuidado, com qualquer alteração, salve uma cópia de segurança. Um erro ao escrever uma regra levará a um erro inesperado no site. Então será difícil estabelecer a causa do erro banal 500 (erro interno do servidor). A edição em si é realizada em qualquer editor de texto, necessariamente com suporte para codificação UTF-8 (formato de conversão Unicode).

A função principal, que indica ao servidor que existem regras de redirecionamento, é definida primeiro.
Todas as regras subsequentes são escritas depois dele:

Opções +FollowSymLinks
Reescrever Motor Ligado
Redirecionamento 301 diretamente relacionado ao nome de domínio e ao site como um todo
Esses redirecionamentos incluem redirecionamentos populares:
  1. Da WWW e vice-versa - para especificar um espelho;
  2. Domínio por domínio ou vários domínios por main;
  3. De HTTPS para HTTP e vice-versa, para especificar a versão preferida;
  4. Transferência completa direta do projeto para um novo domínio;

Esses são os redirecionamentos globais mais solicitados relacionados ao nome de domínio e ao site. Graças a essas regras, todas as transições e designações ocorrem de maneira suave e indolor. Um dos mais procurados para promoção de busca. Um redirecionamento comum de um domínio www para um não-www. É necessário indicar o espelho principal aos motores de busca.

RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

Exemplo de redirecionamento reverso:

RewriteCond %{HTTP_HOST} ^site\.ru$ [NC] RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

Para quem usa HTTPS:

RewriteCond %{SERVER_PORT} ^80$ [OU] RewriteCond %{HTTP} =ligado
RewriteRule ^(.*)$ https://pixelplus.ru/$1 [R=301,L]

301 - um redirecionamento de um domínio para um domínio ou para um domínio na zona de RF.

Redirecionamento de um nome de domínio para outro.

RewriteCond %{HTTP_HOST} ^antigo-site\.ru$ [NC] RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

Para proprietários de um nome de domínio na zona da Federação Russa:

RewriteCond %{HTTP_HOST} ^xn-…\.xn--p1ai$ [NC] RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

Mudando o site para HTTPS para todas as páginas do site

Assim, todos os endereços de projetos existentes serão direcionados para novos com o prefixo “https”.

RewriteCond %{SERVER_PORT} ^80$ [OU] RewriteCond %{HTTP} =ligado
RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]

Voltar para HTTP

É possível se você precisar mudar para http, embora raramente seja usado.

RewriteCond %{HTTPS} "ligado"
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA]

Redirecionamento de domínio para endereço www com subdiretório

Motor de reescrita ativado
RewriteBase /
RewriteCond %{HTTP_HOST} domínio.com [NC] RewriteRule ^(.*)$ http://www.domain.com/directory/index.html [R=301,NC]

Redirecione do domínio antigo para o novo domínio, que inclui o caminho completo e a string de consulta

Opções +FollowSymLinks
Reescrever Motor Ligado
RewriteRule ^(.*) http://www.newdomain.com%{REQUEST_URI} [R=302,NC]

Redirecionar do domínio antigo com subdiretório para o novo domínio sem subdiretório, mas com caminho completo e string de consulta

Opções +FollowSymLinks
Reescrever Motor Ligado
RewriteCond %{REQUEST_URI} ^/subdirname/(.*)$
RewriteRule ^(.*) http://www.katcode.com/%1 [R=302,NC]

Realocação completa do site para um novo domínio

Uma coisa legal e essencial para mover o site para um novo domínio.

RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC] RewriteRule ^([^/]+) $1 [L] RewriteCond %{HTTP_HOST} ^site\.ru
RewriteRule ^(.*)$ http://new-site.ru/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^www.site\.ru
RewriteRule ^(.*)$ http://new-site.ru/$1 [R=301,L]

Redirecione do domínio antigo para o novo domínio, que inclui o caminho completo e a string de consulta

Opções +FollowSymLinks
Reescrever Motor Ligado
RewriteRule ^(.*) http://www.newdomain.com%{REQUEST_URI} [R=302,NC]

Redirecionar do domínio antigo com subdiretório para o novo domínio sem subdiretório, mas com caminho completo e string de consulta

Opções +FollowSymLinks
Reescrever Motor Ligado
RewriteCond %{REQUEST_URI} ^/subdirname/(.*)$
RewriteRule ^(.*) http://www.katcode.com/%1 [R=302,NC]

Redirecionar todo o site ou domínio para um novo

Redirecionamento 301 / http://www.domain.com/

Redirecionar todo o site para uma subpasta

Redirecionamento 301 / http://www.domain.com/subfolder/

Redirecionar subpasta para outro site

Redirecionamento 301 /subpasta http://www.domain.com/

Redirecione a extensão do arquivo, mas mantenha o nome da página

RedirectMatch 301 (.*)\.html$ http://www.domain.com$1.php

Redirecionamento 301 de páginas do site

Às vezes é extremamente necessário realizar tal redirecionamento. Pode haver muitos motivos para isso, especialmente para páginas de erro 404. Na maioria dos casos, outros domínios levam a essas páginas. Como todos entendemos, eles transmitem o peso (TIC, PR, X, TRUST) que precisamos.

Redirecionamento permanente - permite direcionar uma página inexistente para a necessária com material semelhante. Graças a isso, salvaremos as propriedades passadas e os robôs ps atualizarão os dados nos links recebidos. O foco principal dessas regras é:

  1. Especificando a página canônica preferencial;
  2. Direção da página de / (rasgada) para sem;
  3. Instruir bots de busca para a página 404;
  4. Seção ou diretório preferido;
  5. O redirecionamento principal é 301 de uma página (versão antiga) para a nova. Direciona o robô ou usuário para uma nova versão da página. Assim, especificamos a versão canônica da página. É possível especificar o redirecionamento desejado.
Redirecionar 301 /old-post.html http://new-site.ru/new-post.html

Redirecionar endereços sem / no final para endereços com / no final

Ajuda a remover páginas duplicadas indesejadas.

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*[^/])$ $1/ [L,R=301]

Redirecionamento reverso de endereços com/no final, para sem

Também ajuda a evitar duplicatas.

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 [R=301,L]

Redirecionar todas as páginas de um domínio para a página principal de outro

Ajuda a criar uma estrutura de vários domínios (sites).

RewriteCond %{REQUEST_URI} (.*)
RewriteRule ^(.*)$ http://site.ru/ [L,R=301]

Especificamos através de .htaccess o caminho para o arquivo de erro 404

Uma coisa essencial para a promoção de pesquisa competente.

ErrorDocument 404 /404-for-me.php

Redefinindo o diretório ou categoria do site

Essa regra ajuda a evitar perda de tempo especificando redirecionamentos para endereços individuais.

  • Opção 1. RewriteRule ^(.*)/old-category/(.*)$ $1/new-category/$2 [R=301,L]
  • Opção 2. RewriteRule old-category /(.*) / old-category /$1 [R=301,L]

Redirecionar do subdomínio do blog para a pasta do blog

Opções +FollowSymLinks
Reescrever Motor Ligado
RewriteCond %{REQUEST_URI}/blog
RewriteRule ^(.*) http://www.nicola.top/%{REQUEST_URI} [R=302,NC] RewriteRule ^(.*) http://www.nicola.top/blog/%{REQUEST_URI} [ R=302,NC]

Redirecionar um diretório para outro

Options +FollowSymLinks RewriteEngine On RewriteRule ^(.*)/old-directory/(.*)$ $1/new-directory/$2 [R,L]

Redirecionamento de pasta única

Ao redirecionar uma pasta para um novo local, você deve usar o seguinte:

RewriteRule ^/?folder/(.\*)$ /location/$1 [R,L]
Eu uso "pasta" e "localização" como exemplos. Substitua nomes de pastas e locais!

Exclua index.html ou index.php e redirecione para root

Reescrever Motor Ligado
RewriteCond %{THE_REQUEST} /index.php HTTP [NC] RewriteRule (.*)index.php$ /$1 [R=301,L]
Reescrever Motor Ligado
RewriteCond %{THE_REQUEST} /index.html HTTP [NC] RewriteRule (.*)index.html$ /$1 [R=301,L]

Redirecionamento 301 para url com parâmetros GET

Uma regra muito útil que permite que você se livre de duplicatas indesejadas e outros ranhos de sites. Em particular, ajudará os proprietários de vários CMS, especialmente o WordPress.

Exemplo de URL: https://nicola.top/page.php?id=15477852.

RewriteCond %{QUERY_STRING} id=15477852
RewriteRule .* http://site.ru/page.php? [R=301,L]

Se necessário, remova todos os parâmetros get após o sinal (?). Você pode usar o seguinte exemplo:

RewriteRule(.*) $1? [R=301,L]

Posição após: RewriteBase /

Redirecionamentos 301 para URLs com extensões

Muito bom, principalmente com alguns erros na url.

  • Opção 1. RewriteRule ^(([^/]+/)*[^.]+)$ /$1.html [L]
  • Opção 2. RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html

Usando PHP para configurar um redirecionamento 301

Este método ajudará aqueles que não usam o servidor Apache. Regra análoga para php:

header(“HTTP/1.1 301 Movido Permanentemente”);
header("Localização: http://site/dir/ correspondente");
saída();
?>

Como fazer um redirecionamento 301 para sites no nginx

E o nome é claro que se trata de um redirecionamento permanente para quem tem site no nginx.

if ($host = 'www.dominio.com') {
reescrever ^(.*)$ http://domain.com$1 permanente;
}

Sintaxe regex básica para arquivo Apache/.htaccess

Essa expressão regular pode usar qualquer espaço e caracteres imprimíveis. No entanto, alguns símbolos têm um propósito especial:

() - são usados para destacar os grupos de caracteres desejados.
^ é um caractere especial no início de uma linha.
$ - caractere especial de fim de linha.
. representa qualquer caractere.
| significa uma alternativa. Por exemplo, as expressões “A|B” e “(ABC|DEF)” significam “A ou B” e “ABC ou DEF”, respectivamente.
? - é colocado após um personagem (ou grupo de personagens), que pode ou não estar presente.
* - colocado após um caractere (ou grupo de caracteres), que pode estar ausente ou presente um número ilimitado de vezes seguidas.
+ - age de forma semelhante ao caractere *, com a única diferença que o caractere que o precede deve estar presente pelo menos uma vez.
[] - usado para enumerar caracteres válidos. Intervalos podem ser usados dentro de colchetes: por exemplo, a expressão “[0-9]” é equivalente à expressão “[0123456789]”. Se os caracteres dentro dos colchetes começarem com um ^, isso significa qualquer caractere diferente dos listados entre colchetes.
\ - é colocado na frente de caracteres especiais se eles forem necessários em sua forma original.
{3,9} - chaves significam o intervalo do número de caracteres, neste caso são permitidos de 3 a 9 caracteres, o comprimento da string de caracteres deve ser igual ou maior que 3 igual ou menor que 9 caracteres .
Qualquer coisa após o caractere '#' é considerado um comentário.

Plug-in de redirecionamento para proprietários de sites no CMS WorPress

Redirecionamento - Plugin para WordPress.

Uma ótima solução para detectar erros 404. Uma das maneiras mais fáceis de redirecionar um URL. O plugin Redirection é o gerenciador de redirecionamento mais popular para WordPress. Com ele, você pode gerenciar facilmente redirecionamentos de URL, rastrear erros 404. Além disso, este plug-in permite remover / no final do URL. Isso ajudará a reduzir o número de erros e melhorar a classificação do seu projeto.

redirecionamento - permite criar e gerenciar redirecionamentos
Cria um redirecionamento de forma rápida e fácil, sem necessidade de conhecimento de Apache ou Nginx. Se o seu site WordPress suporta permalinks!!!! Então você pode usar este plugin com confiança para redirecionar qualquer URL em seu site. O plug-in tem suporte total para expressões regulares, para que você possa criar modelos de redirecionamento permanente com qualquer número de URLs.

Você também pode configurar um plug-in para controlar seu conteúdo. Quando uma postagem ou página é alterada, o plug-in cria automaticamente o redirecionamento correto para o novo URL. Além do redirecionamento de URL usual. Você tem a opção de redirecionar o URL com base em outras condições:

  • O status de login é redirecionado apenas se o usuário estiver conectado ou desconectado.
  • Navegador - redireciona se o usuário estiver usando um navegador específico.
  • Referrer - redirecionar se o usuário visitou o link de outra página.
  • Cookies - redirecione se determinados cookies forem definidos.
  • Cabeçalhos HTTP - redirecionamento, com base no cabeçalho HTTP.
  • Filtro personalizado - redirecionamento, com base no filtro personalizado do WordPress.
Ele também permite que você acompanhe todos os erros 404 que ocorrem em seu site.

O redirecionamento tem suporte APACHE, AMP e NGINX

Por padrão, este plug-in gerenciará todos os redirecionamentos usando o WordPress. No entanto, ele pode ser configurado para que todos os redirecionamentos sejam armazenados automaticamente em um arquivo .htaccess e manipulados pelo próprio Apache. Se você estiver usando o Nginx, poderá exportar as configurações para um arquivo de regras de reescrita do Nginx. O plug-in também possui um sistema completo de importação e exportação:

  1. Importação e exportação para Apache e .htaccess;
  2. Exportar para regras de reescrita Nginx;
  3. Redirecionamento de cópia entre sites usando JSON;
  4. Importe e exporte para CSV para visualização tabular;
  5. Use WP CLI para automação.

Plug-in simples de redirecionamentos 301 para WordPress

Redirecionamentos 301 simples por BetterLinks – plugin do WordPress.

Redirecionamentos Simples é uma maneira fácil de redirecionar solicitações para outra página em seu site ou em outro lugar na web. Especialmente útil se você estiver migrando um site WordPress e não conseguir manter uma estrutura de URL limpa. Ao definir redirecionamentos de páginas antigas para novas, todos os links recebidos passarão seu peso estatístico.

Plugin de redirecionamento de SEO para WordPress

Plugin de redirecionamento de SEO - Gerenciador de redirecionamento 301.

Redirecionamento SEO é um plug-in de redirecionamento do WordPress. Você pode facilmente criar e gerenciar redirecionamentos do seu site. Este plugin é extremamente útil! Especialmente se você precisar migrar sua estrutura de URL de um site antigo ou alterar o diretório do site WordPress.

Que funcionalidade tem o plug-in SEO Redirection:

  1. Adicionando manualmente redirecionamentos 301, 302 e 307 no WordPress.
  2. Suporta redirecionamento curinga.
  3. Corrija erros de rastreamento 404 no Google Search Console.
  4. Suporte para WPML e recursos de importação/exportação.
  5. Redirecionamento adicionado automaticamente quando o URL é alterado.
  6. Redirecionamentos diretos (páginas, publicações, rascunhos) após suas alterações.
  7. Painel de controle estendido.
  8. Você pode redirecionar pastas e todo o seu conteúdo.
  9. Um log completo é mantido para todos os URLs redirecionados.
  10. É possível usar expressões regulares no redirecionamento.
  11. Apache .htaccess não é necessário, o plugin só funciona em WordPress.
  12. Redirecionar index.php, index.html e index.htm.

Finalmente

Os redirecionamentos são uma coisa essencial na promoção do mecanismo de pesquisa. Graças ao redirecionamento permanente, você pode se livrar de duplicatas, indique a fonte principal. Muitas vezes, Rt é usado para redirecionar erros 404 para outras páginas do projeto.

Precauções para redirecionamentos 301:

  1. No processo de redirecionamento 301, precisamos garantir que o conteúdo das URLs antigas e novas sejam altamente relevantes. Se os dois conteúdos não forem relevantes, o efeito de redirecionamento pode ser afetado.
  2. Se você estiver tentando usar vários nomes de domínio relacionados ao conteúdo, redirecionamentos 301 para um nome de domínio de destino para aumentar a classificação do seu site, essa é uma operação relativamente perigosa e pode ser facilmente rotulada como uma farsa.

Neste guia, tentei pintar todos os redirecionamentos possíveis em detalhes. Aproveitando ao máximo o arquivo .htaccess e plugins disponíveis para WordPress. E também sugiro que você leia um post útil sobre como criar um arquivo robots.txt para um site. Desejo-lhe sucesso e boa sorte com seus redirecionamentos.

Obrigado por ler Nicola Top

Quão útil é o post?

Clique no smiley para avaliar!

classificação média 4.9 / 5. Número de avaliações: 91

Não há avaliações ainda. Avalie primeiro.

Você pode gostar...

6 Responses

  1. Алия diz:

    Olá, Meu site não está redirecionando quando insiro um endereço IP. O que devo fazer para redirecionar de um endereço IP.

    • Николай Алексеев diz:

      Certifique-se de estar usando um endereço IP dedicado que resolva para o servidor no qual você está configurando o redirecionamento. Além disso, verifique se há outro arquivo .htaccess do qual ele possa herdar a regra ou se outra regra no mesmo arquivo .htaccess pode estar interferindo nesse redirecionamento.

  2. Артур diz:

    Ei, deixe-me perguntar, antes de detalhar minha estratégia de otimização de site, preciso concatenar duas variáveis "www para não-www" e "remover a extensão de arquivo .php antes da barra". Estou usando o WordPress e preciso fazer um redirecionamento 301 completo para aplicar a todo o conteúdo: domain.com/category/post-name.html to domain.com/post-name/

    • Николай Алексеев diz:

      Como o WordPress usa regras .htaccess, não recomendo adicionar regras ao arquivo manualmente. Em vez disso, recomendo configurar permalinks em seu painel e, em seguida, usar um plug-in de redirecionamento 301 para redirecionar permanentemente quaisquer URLs antigos para os novos. Isso adicionará automaticamente as regras ao seu arquivo .htaccess de acordo com as regras do WordPress.

  3. Роман diz:

    Oi querida,
    eu colei isso, mas meu site não pode redirecionar,
    por favor ajude

    Motor de reescrita ligado
    RewriteCond %{HTTP_HOST} ^dubaivacancy.me [NC]
    RewriteRule ^(.*)$ domein.com/$1 [L,R=301,NC]

    Reescrever Motor Ligado
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^(.*)$ https:/%{HTTP_HOST}/$1 [R=301,L]

    # INICIAR WordPress

    Reescrever Motor Ligado
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    • Николай Алексеев diz:

      Obrigado por sua pergunta. Para esclarecer, você está recebendo alguma mensagem de erro ao tentar configurar um redirecionamento ou é apenas um redirecionamento para o lugar errado? Você também precisa certificar-se de que o arquivo .htaccess tenha o nome correto e seja acessível a partir da raiz do documento do site (geralmente a pasta public_html).

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

três − dois =