301 (movido permanentemente)
El código de estado de respuesta HTTP 301 Movido permanentemente se usa para la redirección permanente, lo que significa que los enlaces o registros que devuelven esta respuesta deben actualizarse. La nueva URL debe proporcionarse en el campo Ubicación, incluido con la respuesta. La redirección 301 se considera una práctica recomendada para actualizar a los usuarios de HTTP a HTTPS.
RFC 2616 establece que:
- Si un cliente tiene capacidades de edición de enlaces, debe actualizar todas las referencias a la URL de solicitud.
- La respuesta se puede almacenar en caché a menos que se indique lo contrario.
- A menos que el método de solicitud fuera HEAD, la entidad debe contener una pequeña nota de hipertexto con un hipervínculo a las nuevas URL.
- Si el código de estado 301 se recibe en respuesta a una solicitud de cualquier tipo que no sea GET o HEAD, el cliente debe preguntar al usuario antes de redirigir.
Ejemplos
Solicitud de cliente:
OBTENER /index.php HTTP / 1.1 Host: www.example.org
Respuesta del servidor:
HTTP / 1.1 301 Movido permanentemente Ubicación: https://www.example.org/index.asp
Usando un archivo.htaccess
Para solucionar problemas con archivos o directorios que no existen utilizando un archivo.htaccess distribuido:
Redirigir 301 /calendar.html /calendar/ Redirigir 301 /not_found.html /
Aquí hay un ejemplo que usa un archivo.htaccess para redirigir una URL no segura a una dirección segura sin el "www" inicial:
RewriteEngine activado RewriteCond %{HTTPS} desactivado RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L] RewriteCond %{HTTPS} en RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://example.com/$1 [R,L]
100% completado
HTML estático
Una redirección de directorio personalizada, utilizando un archivo index.html:
< meta http-equiv = "actualizar" contenido = "0; url=/" /> < p >< a href = "/" > Inicio </ a ></ p >
Uso de lenguajes de programación
Aquí hay un ejemplo usando Perl CGI.pm:
redirección de impresión ("https://example.com/newpage.html");
Aquí hay un ejemplo usando una redirección de PHP:
<?php header ("Ubicación: https://example.com/newpage.html", true , 301); salida ;
Aquí hay una forma de redirigir usando Express.js:
aplicación _ all ("/antigua/url", (req, res) => { res. redirect (301, "/nueva/url"); });
Servidor de almacenamiento en caché
Equivalentemente simple para una configuración nginx:
ubicación /antigua/url bloqueada/ { return 301 /nueva/url/permanecer estructura estándar }
En
Los motores de búsqueda
Tanto Bing como Google recomiendan usar una redirección 301 para cambiar la URL de una página tal como se muestra en los resultados del motor de búsqueda, siempre que esa URL cambie de forma permanente y no se vuelva a cambiar en el corto plazo.
Contenido relacionado
Generación de código (compilador)
Medio legible por máquina
Djbdns