Cómo hacer una redirección 301 en un archivo .htaccess - ejemplos detallados

imprimir · Время на чтение: 16мин · por · Publicada · Actualizado

reproducirEscuchar artículo

Redirección 301 cómo hacerlo - ejemplos.

Echemos 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.

¿Qué es la redirección permanente 301 y el código de estado HTTP 301?

Redirección 301: qué es y cómo configurarla.

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 +Seguir enlaces simbólicos
RewriteEngine On
Redirección 301 directamente relacionada con el nombre de dominio y el sitio en su conjunto
Estos redireccionamientos incluyen redireccionamientos populares:
  1. Desde WWW y viceversa: para especificar un espejo;
  2. Dominio por dominio o múltiples dominios por principal;
  3. De HTTPS a HTTP y viceversa, para especificar la versión preferida;
  4. 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} = activado
Regla de reescritura ^(.*)$ 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} = activado
Regla de reescritura ^(.*)$ https://domain.ru/$1 [R=301,L]

Volver a HTTP

Es posible si necesita cambiar a http, aunque rara vez se usa.

RewriteCond %{HTTPS} "activado"
Regla de reescritura .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA]

Redirección de dominio a dirección www con subdirectorio

Motor de reescritura activado
Reescribir Base /
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 +Seguir enlaces simbólicos
RewriteEngine On
Regla de reescritura ^(.*) 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 +Seguir enlaces simbólicos
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/subdirname/(.*)$
Regla de reescritura ^(.*) 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.sitio\.ru
Regla de reescritura ^(.*)$ 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 +Seguir enlaces simbólicos
RewriteEngine On
Regla de reescritura ^(.*) 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 +Seguir enlaces simbólicos
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/subdirname/(.*)$
Regla de reescritura ^(.*) http://www.katcode.com/%1 [R=302,NC]

Redirigir todo el sitio o dominio 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:

  1. Especificar la página canónica preferida;
  2. Dirección de la página desde / (rasgada) hasta sin ella;
  3. Instruyendo a los robots de búsqueda a la página 404;
  4. Sección o directorio preferido;
  5. 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

Redirigir direcciones sin / al final a direcciones con / al final

Ayuda a eliminar duplicados de página no deseados.

Reescribir Base /
RewriteCond %{REQUEST_FILENAME} !-f
Reescribir Cond %{REQUEST_URI} !(.*)/$
Regla de reescritura ^(.*[^/])$ $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
Reescribir Cond %{REQUEST_URI} ^(.+)/$
Regla de reescritura ^(.+)/$ /$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).

ReescrituraCond %{REQUEST_URI} (.*)
Regla de reescritura ^(.*)$ 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. Regla de reescritura ^(.*)/categoría antigua/(.*)$ $1/categoría nueva/$2 [R=301,L]
  • Opción 2. RewriteRule categoría anterior /(.*) / categoría anterior /$1 [R=301,L]

Redirigir del subdominio del blog a la carpeta del blog

Opciones +Seguir enlaces simbólicos
RewriteEngine On
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]

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. Regla de reescritura ^(([^/]+/)*[^.]+)$ /$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://domain.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

Redirección - Complemento para WordPress.

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. 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 correcta 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:

  1. Importa y exporta a Apache y .htaccess;
  2. Exportar a las reglas de reescritura de Nginx;
  3. Copie la redirección entre sitios usando JSON;
  4. Importe y exporte a CSV para visualización tabular;
  5. Utilice WP CLI para la automatización.

Complemento simple de redirecciones 301 para WordPress

Redireccionamientos 301 simples de BetterLinks – Complemento de 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

Complemento de redirección SEO - Administrador de redirección 301.

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:

  1. Adición manual de redireccionamientos 301, 302 y 307 en WordPress.
  2. Admite comodín de redirección.
  3. Solucione los errores de rastreo 404 en Google Search Console.
  4. Compatibilidad con WPML y funciones de importación/exportación.
  5. Agregar redirección automática cuando cambia la URL.
  6. Redirecciones directas (páginas, publicaciones, borradores) después de sus cambios.
  7. Panel de control extendido.
  8. Puede redirigir carpetas y todo su contenido.
  9. Se mantiene un registro completo para todas las URL redirigidas.
  10. Es posible utilizar expresiones regulares en la redirección.
  11. No se requiere Apache .htaccess, el complemento solo funciona en WordPress.
  12. 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:

  1. 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.
  2. 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 complementos disponibles para WordPress. Y 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.

Gracias por leer Nicola Top

¿Qué tan útil es la publicación?

¡Haz clic en el emoticón para calificar!

Puntuación media 4.9 / 5. Número de valoraciones: 91

Aún no hay valoraciones. Califique primero.

También te podría gustar...

6 Respuestas

  1. Алия dice:

    Hola, Mi sitio no se redirige cuando ingreso una dirección IP. ¿Qué debo hacer para que se redirija desde una dirección IP?

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

      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.

  2. Артур dice:

    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/

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

      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.

  3. Роман dice:

    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]

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

      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).

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

8 + once =