En un depurador web, el html de una página de redireccionamiento 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>
Tengo que redirigir páginas html sin soporte del servidor. Si reemplazo las páginas html con el código anterior, ¿funcionará lo mismo que escribir redirecciones 301 en .htaccess en apache? Busqué esto en google, pero los sitios que hablan de redireccionamientos 301 no cubrieron esta opción para redirigir páginas html.
html
301-redirect
JMC
fuente
fuente
No, simplemente reemplazando el HTML con su ejemplo no logrará el efecto que está buscando. Simplemente mostrará esa página al usuario, ya que Apache enviará un código de estado '200' junto con él. Los usuarios podrán hacer clic en el enlace para encontrar la página, pero no sucederá automáticamente y las arañas no sabrán que pretenden efectuar una redirección permanente del recurso.
Usted tendrá que utilizar una adecuada redirección o _mod_rewrite_ Directiva, ya sea en .htaccess de Apache o sus conf archivos.
Alternativamente, si está utilizando PHP o algo similar, puede establecer el código de retorno en 301, generar un encabezado de respuesta de ubicación y luego su solución basada en la página funcionará. En PHP se vería así:
fuente
De acuerdo con Hissohathair en que su enfoque no se redirigirá realmente. Los usuarios pueden saber hacer clic en el enlace, pero la página original aún devolverá un código de estado '200' normal y continuará apareciendo en los resultados de búsqueda (probablemente no exactamente lo que desea).
Para mantener el rango de página, los códigos de estado 301 son extremadamente importantes. Agregar metaetiquetas de actualización también es una buena opción y puede ayudar en la mayoría de los casos (según la respuesta de John), pero es posible que no se le garantice que los motores de búsqueda lo aceptarán como una redirección 301 en el futuro. Agregar las redirecciones adecuadas a su .htaccess (o archivos conf de Apache) sería su mejor opción para garantizar que se envíe el código de estado 301.
Editar:
=======================
Para un sitio web IIS7, siempre que el módulo IIS URL Rewrite esté instalado, puede crear reglas de redireccionamiento en el sitio web.config para el sitio. Estas reglas también se aplicarían a los archivos .html. Más información aquí:
http://learn.iis.net/page.aspx/461/creating-rewrite-rules-for-the-url-rewrite-module/
=======================
Otra alternativa si su servidor web no tiene capacidades .htaccess / mod_rewrite podría ser cambiar el servidor web que está utilizando, donde puede configurar redireccionamientos del lado del servidor. Siempre que el sitio se mueva correctamente, debería ser bastante sencillo para sus usuarios. Este enfoque solo sería para casos extremos si mantener el rango de página es muy crítico.
fuente