Em um depurador da web, o html de uma página de redirecionamento 301 aparece como:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://www.website.com/webpage.htm">here</a>.</p>
</body></html>
Estou tendo que redirecionar páginas html sem suporte ao servidor. Se eu substituir as páginas html pelo código acima, isso funcionará da mesma maneira que escrever 301 redirecionamentos em .htaccess no apache? Procurei isso no google, mas os sites que falam sobre redirecionamentos 301 não cobriam essa opção para redirecionar páginas html.
html
301-redirect
JMC
fonte
fonte
Não, simplesmente substituir o HTML pelo seu exemplo não alcançará o efeito que você está procurando. Ele simplesmente mostrará essa página ao usuário, pois o Apache enviará um código de status '200' junto com ele. Os usuários poderão clicar no link para encontrar a página, mas isso não acontecerá automaticamente e as aranhas não saberão que você deseja efetuar um redirecionamento permanente do recurso.
Você vai precisar usar uma adequada Redirect ou _mod_rewrite_ directiva em qualquer .htaccess ou seus Apache conf arquivos.
Como alternativa, se você estiver realmente usando PHP ou algo semelhante, poderá definir o código de retorno como 301, gerar um cabeçalho de resposta Localização e, em seguida, sua solução baseada em página funcionará. No PHP, seria algo parecido com isto:
fonte
Concorde com Hissohathair no sentido de que sua abordagem não será realmente redirecionada. Os usuários podem clicar no link, mas a página original ainda retornará um código de status '200' normal e continuará sendo exibida nos resultados da pesquisa (provavelmente não exatamente o que você deseja).
Para manter a classificação da página, os códigos de status 301 são extremamente importantes. Adicionar metatags de atualização também é uma boa opção e pode ajudar na maioria dos casos (conforme a resposta de John), mas você pode não ter certeza de que os mecanismos de pesquisa a aceitarão como um redirecionamento 301 no futuro. Adicionar redirecionamentos adequados ao seu arquivo .htaccess (ou arquivos de configuração do Apache) seria sua melhor opção para garantir que o código de status 301 esteja sendo enviado.
Editar:
=======================
Para um site IIS7, desde que o módulo IIS Rewrite URL esteja instalado, você pode criar regras de redirecionamento no web.config do site. Essas regras também se aplicam aos arquivos .html. Mais informações aqui:
http://learn.iis.net/page.aspx/461/creating-rewrite-rules-for-the-url-rewrite-module/
=======================
Outra alternativa, se o seu host da web não tiver recursos .htaccess / mod_rewrite, pode ser alterar o host da web que você está usando, onde é possível configurar os redirecionamentos do servidor. Desde que o site seja movido adequadamente, ele deve ser bastante transparente para seus usuários. Essa abordagem seria apenas para casos extremos se a manutenção da classificação da página for altamente crítica.
fonte