Cómo hacer una redirección 301 en un archivo .htaccess - ejemplos detallados
· Время на чтение: 13мин · por · Publicada · ActualizadoEchemos un vistazo a las reglas básicas de redirección que se aplican al archivo .htaccess. Ejemplos de cómo hacer redireccionamientos 301 en archivo .htaccess. ¿Por qué necesita una redirección y sus características? El efecto de los redireccionamientos en la página final y cómo será útil.
Redirección 301 (Redirección permanente) - esta es una de las reglas básicas que debe escribirse en .htaccess. La tarea principal de 301 es Redirecta, redirigiendo al usuario a la dirección de la página especificada en la regla.
El contenido del artículo:
- ¿Qué es la redirección permanente y el código de estado HTTP 301?
- Redirección permanente en la promoción de motores de búsqueda y SEO
- Reglas básicas para usar una redirección
- Cómo configurar una redirección en el archivo .htaccess
- Redirección de la página del sitio web
- Sintaxis básica de expresiones regulares para el archivo Apache/.htaccess
- Complemento de redirección para propietarios de proyectos en CMS WorPress
- Complemento de redirecciones simples para WordPress
- Complemento de redireccionamiento SEO para WordPress
¿Qué es la redirección permanente 301 y el código de estado HTTP 301?
Redirección permanente 301 es una indicación estándar de que una página o recurso se ha movido a una nueva ubicación. Así, el usuario, al visitar una página, es redirigido a la dirección de su nueva ubicación.
El bot de búsqueda u otros bots de terceros reciben el código de respuesta HTTP 301. Esto significa que la página o el recurso completo se ha movido permanentemente a una nueva dirección. En consecuencia, todas las propiedades principales de la página van al punto final de redirección. Indicar a los motores de búsqueda que revisen todas las URL entrantes actuales. Para la posterior transferencia de peso a la página final (recurso).
Redirección permanente 301: este es el término principal en SEO que se usa al estandarizar URL. Tal vez todos conozcan este término, pero dado que no se usa con mucha frecuencia, muchos SEO profesionales no están muy familiarizados con las redirecciones 301 permanentes.
¿Cuál es el efecto de usar redireccionamientos 301:
Una redirección permanente 301 es un método de redirección que cumple con las reglas del motor de búsqueda entre todos los métodos de redirección. Otros métodos de redirección incluyen la redirección 302 temporal, la redirección JS, etc. Estos métodos pueden generar URL incorrectas.
Entonces, si tiene varios nombres de dominio y desea permitirles visitar el mismo sitio web, solo puede usar uno de ellos como su nombre de dominio principal y los otros nombres de dominio restantes realizan una redirección 301 permanente a ese nombre de dominio principal. Si diferentes nombres de dominio visitan el mismo sitio y no se vuelve a habilitar la redirección correcta, esto penalizará al sitio.
Redirección permanente 301 en optimización de motores de búsqueda y SEO
Todos los motores de búsqueda, especialmente los principales Google y Yandex, admiten completamente el uso de redireccionamientos. Esto le permite indicarle al robot de búsqueda que varias direcciones diferentes deben combinarse en 1. En este caso, solo aquella a la que se realiza la redirección será la dirección principal.
Para Seo, esta es una herramienta de promoción adicional indispensable. Por ejemplo, permitiéndole especificar el motor de búsqueda:
- A una nueva dirección de sitio web o un nuevo dominio. Para la posterior transferencia de todas las propiedades de la antigua dirección (dominio) a un nuevo dominio.
- Redirigir con agregar. espejos en la principal. Por ejemplo, cuando un recurso está disponible en www y sin www. O usa (https), pero también está disponible a través de http.
Reglas básicas para usar una redirección
- Primero, debe colocar los redireccionamientos en el orden correcto en la regla. Utilice las redirecciones más frecuentes (arriba) y las más globales a continuación.
- En segundo lugar, evite los redireccionamientos múltiples. Esto tendrá un impacto extremadamente negativo en la promoción del sitio web de SEO. El bot de búsqueda, o el usuario en este caso, será redirigido varias veces. Por ejemplo: de una página, a la 2, luego a la 3. Esto es malo e incorrecto desde el punto de vista del SEO.
- En tercer lugar, trate de no hacer redirecciones cíclicas (entre sí, en un círculo). Esto afectará negativamente la distribución del peso entre las páginas especificadas en la regla.
- Cuarto: no olvide que la mayoría de los navegadores usan hashing. Por lo tanto, los recursos de terceros deben verificar la relevancia de todas las redacciones.
Cómo configurar redireccionamientos 301 en un archivo .htaccess
El archivo en sí .htaccess se encuentra en el directorio principal del sitio. El trabajo con él se lleva a cabo con mucho cuidado, con cualquier cambio, guarde una copia de seguridad. Un error al escribir una regla dará lugar a un error inesperado en el sitio. Entonces será difícil establecer la causa del error banal 500 (Error interno del servidor). La edición en sí se lleva a cabo utilizando cualquier editor de texto, necesariamente con soporte para la codificación UTF-8 (formato de conversión Unicode).
La función principal, que indica al servidor que existen reglas de redirección, se configura primero.
Todas las reglas posteriores se escriben después:
Opciones +SeguirSymLinks RewriteEngine On
Redirección 301 directamente relacionada con el nombre de dominio y el sitio en su conjunto
Estos redireccionamientos incluyen redireccionamientos populares:
- Desde WWW y viceversa: para especificar un espejo;
- Dominio por dominio o múltiples dominios por principal;
- De HTTPS a HTTP y viceversa, para especificar la versión preferida;
- Transferencia completa directa del proyecto a un nuevo dominio;
Estos son los redireccionamientos globales más solicitados que están relacionados con el nombre de dominio y el sitio web. Gracias a tales reglas, todas las transiciones y designaciones se realizan sin problemas y sin dolor. Uno de los más buscados para la promoción de búsqueda. Una redirección común de un dominio www a uno que no es www. Es necesario indicar el espejo principal a los motores de búsqueda.
RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Ejemplo de redireccionamiento inverso:
RewriteCond %{HTTP_HOST} ^site\.ru$ [NC] RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
Para aquellos que usan HTTPS:
RewriteCond %{SERVER_PORT} ^80$ [O] RewriteCond %{HTTP} =on RewriteRule ^(.*)$ https://pixelplus.ru/$1 [R=301,L]
301: una redirección de un dominio a un dominio o a un dominio en la zona RF.
Redirigir de un nombre de dominio a otro.
RewriteCond %{HTTP_HOST} ^sitio antiguo\.ru$ [NC] RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
Para propietarios de un nombre de dominio en la zona de la Federación Rusa:
RewriteCond %{HTTP_HOST} ^xn-...\.xn--p1ai$ [NC] RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
Cambiar el sitio a HTTPS para todas las páginas del sitio
Así, todas las direcciones de proyectos existentes serán dirigidas a nuevas con el prefijo “https”.
RewriteCond %{SERVER_PORT} ^80$ [O] RewriteCond %{HTTP} =on RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]
Volver a HTTP
Es posible si necesita cambiar a http, aunque rara vez se usa.
RewriteCond %{HTTPS} "on" RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA]
Redirección de dominio a dirección www con subdirectorio
RewriteEngine en RewriteBase/RewriteCond %{HTTP_HOST} dominio.com [NC] RewriteRule ^(.*)$ http://www.domain.com/directory/index.html [R=301,NC]
Redirigir del dominio anterior al dominio nuevo, que incluye la ruta completa y la cadena de consulta
Opciones +FollowSymLinks RewriteEngine On RewriteRule ^(.*) http://www.nuevodominio.com%{REQUEST_URI} [R=302,NC]
Redirigir desde el dominio antiguo con subdirectorio al nuevo dominio sin subdirectorio, pero con ruta completa y cadena de consulta
Opciones +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_URI} ^/subdirname/(.*)$ RewriteRule ^(.*) http://www.katcode.com/%1 [R=302,NC]
Reubicación completa del sitio a un nuevo dominio
Una cosa genial que es esencial para mover el sitio a un nuevo dominio.
RewriteCond %{REQUEST_FILENAME} robots.txt$ [NC] RewriteRule ^([^/]+) $1 [L] RewriteCond %{HTTP_HOST} ^site\.ru RewriteRule ^(.*)$ http://nuevo-sitio.ru /$1 [R=301,L] RewriteCond %{HTTP_HOST} ^www.site\.ru RewriteRule ^(.*)$ http://nuevo-sitio.ru/$1 [R=301,L]
Redirigir del dominio anterior al dominio nuevo, que incluye la ruta completa y la cadena de consulta
Opciones +FollowSymLinks RewriteEngine On RewriteRule ^(.*) http://www.nuevodominio.com%{REQUEST_URI} [R=302,NC]
Redirigir desde el dominio antiguo con subdirectorio al nuevo dominio sin subdirectorio, pero con ruta completa y cadena de consulta
Opciones +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_URI} ^/subdirname/(.*)$ RewriteRule ^(.*) http://www.katcode.com/%1 [R=302,NC]
Redirigir un sitio o dominio completo a uno nuevo
Redirección 301 / http://www.dominio.com/
Redirigir todo el sitio a una subcarpeta
Redirección 301 / http://www.dominio.com/subcarpeta/
Redirigir subcarpeta a otro sitio web
Redirección 301 /subcarpeta http://www.dominio.com/
Redirigir la extensión del archivo pero mantener el nombre de la página
RedirectMatch 301 (.*)\.html$ http://www.dominio.com$1.php
Redirección 301 de las páginas del sitio
A veces es extremadamente necesario llevar a cabo dicha redirección. Puede haber muchas razones para esto, especialmente para las páginas de error 404. En la mayoría de los casos, otros dominios conducen a tales páginas. Como todos entendemos, transmiten el peso (TIC, PR, X, TRUST) que necesitamos.
Redireccionamiento permanente: le permite dirigir una página inexistente a la requerida con material similar. Gracias a esto, guardaremos las propiedades pasadas y los robots ps actualizarán los datos en los enlaces entrantes. El enfoque principal de estas reglas es:
- Especificar la página canónica preferida;
- Dirección de la página desde / (rasgada) hasta sin ella;
- Instruyendo a los robots de búsqueda a la página 404;
- Sección o directorio preferido;
- La redirección principal es 301 de una página (versión anterior) a la nueva. Dirige al robot o al usuario a una nueva versión de la página. Así, especificamos la versión canónica de la página. Es posible especificar la redirección deseada.
Redirigir 301 /post-antiguo.html http://sitio-nuevo.ru/post-nuevo.html
Reenvío de direcciones sin / al final a direcciones con / al final
Ayuda a eliminar duplicados de página no deseados.
RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/ [L,R=301]
Redirección inversa de direcciones con / al final, a sin él
También ayuda a evitar duplicados.
RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.+)/$ RewriteRule ^(.+)/$ /$1 [R=301,L]
Redirigir todas las páginas de un dominio a la página principal de otro
Ayuda a crear una estructura de múltiples dominios (sitios).
RewriteCond %{REQUEST_URI} (.*) RewriteRule ^(.*)$ http://site.ru/ [L,R=301]
Especificamos a través de .htaccess la ruta al archivo de error 404
Una cosa esencial para la promoción de búsqueda competente.
ErrorDocument 404 /404-for-me.php
Redefinir el directorio o la categoría del sitio
Esta regla ayuda a evitar la pérdida de tiempo especificando redireccionamientos para direcciones individuales.
Opción 1. RewriteRule ^(.*)/old-category/(.*)$ $1/new-category/$2 [R=301,L] Opción 2. RewriteRule old-category /(.*) / old-category / $1 [R=301,L]
Redirigir del subdominio del blog a la carpeta del blog
Opciones +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_URI}/ blog RewriteRule ^(.*) http://www.nicola.top/%{REQUEST_URI} [R=302,NC] RewriteRule ^(.*) http://www.nicola.top/%{REQUEST_URI} [R=302,NC] RewriteRule ^(.*) http://www .nicola.top/blog/%{REQUEST_URI} [R=302,NC]
Redirigir un directorio a otro
Opciones +FollowSymLinks RewriteEngine On RewriteRule ^(.*)/directorio-antiguo/(.*)$ $1/directorio-nuevo/$2 [R,L]
Redirección de carpeta única
Al redirigir una carpeta a una nueva ubicación, debe usar lo siguiente:
RewriteRule ^/?carpeta/(.\*)$ /ubicación/$1 [R,L]
Uso "carpeta" y "ubicación" como ejemplos. ¡Reemplace los nombres de carpetas y ubicaciones!
Eliminar index.html o index.php y redirigir a la raíz
RewriteEngine On RewriteCond %{THE_REQUEST} /index.php HTTP [NC] RewriteRule (.*)index.php$ /$1 [R=301,L]
RewriteEngine On RewriteCond %{THE_REQUEST} /index.html HTTP [NC] RewriteRule (.*)index.html$ /$1 [R=301,L]
Redirección 301 para URL con parámetros GET
Una regla muy útil que le permite deshacerse de los duplicados no deseados y otros mocos del sitio web. En particular, ayudará a los propietarios de varios CMS, especialmente WordPress.
Ejemplo de URL: https://nicola.top/page.php?id=15477852.
RewriteCond %{QUERY_STRING} id=15477852 RewriteRule .* http://site.ru/page.php? [R=301,L]
Si es necesario, elimine todos los parámetros de obtención después del signo (?). Puedes usar el siguiente ejemplo:
Regla de reescritura (.*) $1? [R=301,L]
Posición después de: RewriteBase /
Redirecciones 301 para urls con extensiones
Muy bueno, sobre todo con algunos errores en la url.
Opción 1. RewriteRule ^(([^/]+/)*[^.]+)$ /$1.html [L] Opción 2. RedirectMatch 301 (.*)\.php$ http://www.site.com$1 .html
Usar PHP para configurar una redirección 301
Este método ayudará a aquellos que no usan el servidor Apache. Regla análoga para php:
header("HTTP/1.1 301 movido permanentemente"); header("Ubicación: http://sitio correspondiente/dir/"); salida(); ?>
Cómo hacer una redirección 301 para sitios en nginx
Y el nombre es claro que esta es una redirección permanente para aquellos que tienen un sitio en nginx.
if ($host = 'www.dominio.com' ) { reescribe ^(.*)$ http://dominio.com$1 permanente; }
Sintaxis básica de expresiones regulares para el archivo Apache/.htaccess
Esta expresión regular puede usar cualquier carácter imprimible y espacio. Sin embargo, algunos símbolos tienen un propósito especial:
() - se utilizan para resaltar los grupos de caracteres deseados.
^ es un carácter especial al comienzo de una línea.
$ - carácter especial de fin de línea.
. representa cualquier carácter.
| significa una alternativa. Por ejemplo, las expresiones “A|B” y “(ABC|DEF)” significan “A o B” y “ABC o DEF”, respectivamente.
? - se coloca después de un carácter (o grupo de caracteres), que puede o no estar presente.
* - poner después de un carácter (o grupo de caracteres), que puede estar ausente o presente un número ilimitado de veces seguidas.
+ - actúa de manera similar al carácter *, con la única diferencia de que el carácter que lo precede debe estar presente al menos una vez.
[]: se utiliza para enumerar caracteres válidos. Los rangos se pueden utilizar entre paréntesis: por ejemplo, la expresión “[0-9]” es equivalente a la expresión “[0123456789]”. Si los caracteres dentro de los corchetes comienzan con ^, significa cualquier carácter distinto de los que se enumeran entre corchetes.
\ - se coloca delante de los caracteres especiales si se necesitan en su forma original.
{3,9} - las llaves significan el rango del número de caracteres, en este caso se permiten de 3 a 9 caracteres, la longitud de la cadena de caracteres debe ser igual o mayor a 3 igual o menor a 9 caracteres .
Cualquier cosa después del carácter '#' se considera un comentario.
Complemento de redirección para propietarios de sitios en CMS WorPress
Una gran solución para detectar errores 404. Una de las formas más fáciles de redirigir una URL. El complemento de redirección es el administrador de redirección más popular para WordPress. Con él, puede administrar fácilmente los redireccionamientos de URL, realizar un seguimiento de los errores 404. Además, este complemento le permite eliminar / al final de la URL. Esto ayudará a reducir la cantidad de errores y mejorará la calificación de su proyecto.
redirección - le permite crear y administrar redireccionamientos
Crea una redirección rápida y fácilmente, no se requiere conocimiento de Apache o Nginx. ¡Si su sitio de WordPress admite enlaces permanentes! Luego, puede usar este complemento con confianza para redirigir cualquier URL en su sitio web. El complemento tiene soporte completo para expresiones regulares, por lo que puede crear plantillas de redireccionamiento permanente con cualquier cantidad de URL.
También puede configurar un complemento para controlar su contenido. Cuando una publicación o página cambia, el complemento creará automáticamente la redirección adecuada a la nueva URL. Además de la redirección de URL habitual. Tiene la opción de redirigir la URL en función de otras condiciones:
- El estado de inicio de sesión es redirigir solo si el usuario ha iniciado o no sesión.
- Navegador: redirige si el usuario está usando un navegador específico.
- Remitente: redirigir si el usuario visitó el enlace desde otra página.
- Cookies: redirigir si se establecen ciertas cookies.
- Encabezados HTTP: redireccionamiento, basado en el encabezado HTTP.
- Filtro personalizado: redireccionamiento, basado en el filtro personalizado de WordPress.
También le permite realizar un seguimiento de todos los errores 404 que se producen en su sitio.
La redirección tiene soporte para APACHE, AMP y NGINX
De forma predeterminada, este complemento administrará todos los redireccionamientos usando WordPress. Sin embargo, se puede configurar para que todas las redirecciones se almacenen automáticamente en un archivo .htaccess y sean manejadas por el propio Apache. Si usa Nginx, puede exportar la configuración a un archivo de reglas de reescritura de Nginx. El complemento también tiene un sistema de importación y exportación con todas las funciones:
- Importa y exporta a Apache y .htaccess;
- Exportar a las reglas de reescritura de Nginx;
- Copie la redirección entre sitios usando JSON;
- Importe y exporte a CSV para visualización tabular;
- Utilice WP CLI para la automatización.
Complemento simple de redirecciones 301 para WordPress
Redirecciones simples es una manera fácil de redirigir las solicitudes a otra página de su sitio o a cualquier otro lugar de la web. Especialmente útil si está migrando un sitio de WordPress y no puede mantener una estructura de URL limpia. Al establecer redireccionamientos de páginas antiguas a nuevas, cualquier enlace entrante pasará su peso estadístico.
Complemento de redirección SEO para WordPress
Redirección SEO es un complemento de redirección de WordPress. Puede crear y administrar fácilmente los redireccionamientos de su sitio. ¡Este complemento es extremadamente útil! Especialmente si necesita migrar su estructura de URL desde un sitio web antiguo o cambiar el directorio de su sitio de WordPress.
Qué funcionalidad tiene el complemento de redirección SEO:
- Adición manual de redireccionamientos 301, 302 y 307 en WordPress.
- Admite comodín de redirección.
- Solucione los errores de rastreo 404 en Google Search Console.
- Compatibilidad con WPML y funciones de importación/exportación.
- Agregar automáticamente una redirección cuando cambia la URL.
- Redirecciones directas (páginas, publicaciones, borradores) después de sus cambios.
- Panel de control extendido.
- Puede redirigir carpetas y todo su contenido.
- Se mantiene un registro completo para todas las URL redirigidas.
- Es posible utilizar expresiones regulares en la redirección.
- No se requiere Apache .htaccess, el complemento solo funciona en WordPress.
- Redirigir index.php, index.html e index.htm.
Finalmente
Los redireccionamientos son algo esencial en la promoción de motores de búsqueda. Gracias a la redirección permanente, puede deshacerse de los duplicados, indique la fuente principal. Muy a menudo, Rt se usa para redirigir errores 404 a otras páginas del proyecto.
Precauciones para los redireccionamientos 301:
- En el proceso de redireccionamiento 301, debemos asegurarnos de que el contenido de las URL antiguas y nuevas sea muy relevante. Si los dos contenidos no son relevantes, el efecto de redirección puede verse afectado.
- Si está tratando de usar varios nombres de dominio relacionados con el contenido, los redireccionamientos 301 a un nombre de dominio de destino para mejorar la clasificación de su sitio web, esta es una operación relativamente peligrosa y puede etiquetarse fácilmente como una estafa.
En esta guía, traté de pintar todos los redireccionamientos posibles con gran detalle. Aprovechando al máximo el archivo .htaccess y los complementos de WordPress disponibles. También le sugiero que lea una publicación útil sobre cómo crear un archivo robots.txt para un sitio web. Le deseo éxito y buena suerte con sus redireccionamientos.
Leyendo este artículo:
- Optimización técnica del sitio: llevar el sitio al TOP-10 PS
- Optimización CSS: 21 formas de acelerar su sitio web
Gracias por leer: AYUDANTE DE SEO | NICOLA.TOP
Hola, Mi sitio no se redirige cuando ingreso una dirección IP. ¿Qué debo hacer para que se redirija desde una dirección IP?
Asegúrese de estar utilizando una dirección IP dedicada que se resuelva en el servidor en el que está configurando la redirección. Además, verifique si hay otro archivo .htaccess del que podría heredar la regla, o si otra regla en el mismo archivo .htaccess podría estar interfiriendo con esta redirección.
Oye, déjame preguntarte, antes de analizar la estrategia de optimización de mi sitio web, necesito concatenar dos variables "www a no www" y "eliminar la extensión de archivo .php antes de la barra inclinada". Estoy usando WordPress y necesito hacer una redirección 301 completa para aplicar a todo el contenido: dominio.com/categoría/nombre-de-la-publicación.html a dominio.com/nombre-de-la-publicación/
Debido a que WordPress usa reglas .htaccess, no recomiendo agregar reglas al archivo manualmente. En su lugar, recomiendo configurar enlaces permanentes en su tablero y luego usar un complemento de redirección 301 para redirigir permanentemente cualquier URL antigua a las nuevas. Esto agregará automáticamente las reglas a su archivo .htaccess de acuerdo con las reglas de WordPress.
Hola cariño,
pegué esto pero mi sitio no puede redirigir,
por favor ayuda
Motor de reescritura en
RewriteCond %{HTTP_HOST} ^dubaivacancy.me [NC]
Regla de reescritura ^(.*)$ domein.com/$1 [L,R=301,NC]
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
Regla de reescritura ^(.*)$ https:/%{HTTP_HOST}/$1 [R=301,L]
# EMPEZAR WordPress
RewriteEngine On
Reescribir Base /
Regla de reescritura ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Regla de reescritura. /index.php [L]
Gracias por su pregunta. Para aclarar, ¿recibe algún mensaje de error cuando intenta configurar una redirección o es solo una redirección al lugar equivocado? También debe asegurarse de que el archivo .htaccess tenga el nombre correcto y sea accesible desde la raíz del documento del sitio web (generalmente la carpeta public_html).
Esta información merece la atención de todos. ¿Cuándo puedo saber más?