Con el .htaccess puede redireccionar su dominio a una URL existente, a https, etc…

El .htaccess es un archivo oculto, para crear un archivo .htaccess puede utilizar un bloc de texto y a la hora de guardar el archivo el nombre que debe de utilizar es
.htaccess, por último solamente deberá de publicarlo en la dirección que desea que se produzca dicha redirección.

Para redireccionar un dominio a un nuevo dominio deberá de añadir las siguientes líneas a su.htaccess (si no tiene creado el .htaccess deberá de crearlo)


Redirect 301 /
https://www.nuevodominio.com/

Para redireccionar todo el contenido de un dominio a la página inicial del nuevo dominio deberá de añadir las siguientes líneas a su .htaccess (si no tiene creado el .htaccess deberá de crearlo)

RedirectMatch 301 ^(.*)$ https://www.nuevodominio.com/

Para redireccionar un sitio web completo a otra URL deberá de añadir las siguientes líneas a su .htaccess (si no tiene creado el .htaccess deberá de crearlo)

RewriteEngine on
RewriteCond %{HTTP_HOST} ^sudominio.com$ [OR]

RewriteCond %{HTTP_HOST} ^www.sudominio.com$

rewriterule ^(.*)$
https://www.nuevodominio.com
[R=301,L]

Nota: Si alguien escribe cualquier cosa después del dominio siempre lo redireccionará a la nueva URL. Por ejemplo, si alguien escribe https://sudominio.com/miforo lo redireccionará a https://nuevodmominio.com

Para redireccionar una URL a otra URL deberá de añadir las siguientes líneas a su .htaccess (si no tiene creado el .htaccess deberá de crearlo)

Redirect 301 /vieja-pagina.htm https://www.sudominio.com/nueva-pagina.htm

Para redireccionar un directorio antiguo de un dominio a otro nuevo directorio deberá de añadir las siguientes líneas a su .htaccess (si no tiene creado el .htaccess deberá de crearlo)

Redirect 301 /viejo-directorio/
https://www.sudominio.com/nuevo-directorio/

Para redireccionar un directorio que vas a eliminar y todo lo que contiene a otro directorio deberá de añadir las siguientes líneas a su .htaccess (si no tiene creado el .htaccess deberá de crearlo)

RedirectMatch 301 ^/viejo-directorio/(.*)$
https://www.sudominio.com/nueva-pagina

Para redireccionar de www a sin www deberá de añadir las siguientes líneas a su .htaccess (si no tiene creado el .htaccess deberá de crearlo)

Options +FollowSymlinks
RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.sudominio.com [NC]

RewriteRule ^(.*)$
https://sudominio.com/$1 [R=301,L]

y para redireccionar desde sin www. a www deberá de añadir las siguientes líneas a su .htaccess (si no tiene creado el .htaccess deberá de crearlo)

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{HTTP_HOST} ^sudominio.com [NC]

RewriteRule ^(.*)$
https://www.sudominio.com/$1
[R=301,L]

Para redireccionar un sitio completo a https deberá de añadir las siguientes líneas a su .htaccess (si no tiene creado el .htaccess deberá de crearlo)

RewriteEngine on

RewriteOptions inherit

RewriteCond %{SERVER_PORT} 443

RewriteRule ^(.*)$
https://sudominio.com/tienda
[R,L]
RewriteCond %{SERVER_PORT} 80

RewriteRule ^(.*)$
https://sudominio.com/tienda
[R,L]

Para redireccionar un directorio de su web a https deberá de añadir las siguientes líneas a su .htaccess (si no tiene creado el .htaccess deberá de crearlo)

RewriteEngine on
RewriteCond %{SERVER_PORT} 80

RewriteCond %{REQUEST_URI} NOMBRE_DIRECTORIO

RewriteRule ^(.*)$
https://sudominio.com/NOMBRE_DIRECTORIO/$1
[R,L]

Si buscas servicios de hosting web o registro de dominio no dudes en contactar con nosotros.

Comentarios

    1. Francisco

      Utilice el siguiente código para configurar su .htaccess de la siguiente manera

      RewriteEngine On
      RewriteBase /

      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ index.php?$1 [L,QSA]

      RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC]
      RewriteRule ^ %1 [R=301,L]

  1. Hipolito Alonso

    Hola, sabes que probe muchas cosas, pero lo que quiero es que mi dominio2.com (que es el nuevo) apunte a dominio1.com/directorio pero que no me cambie la direccion a dominio1.com

    Probe de todo y nada!!

  2. Lorena

    Hola, gracias por el post. Fíjate que ya probé algunas cosas, pero no logré que quede.
    Mi caso es:
    Tenía un dominio.com/1 y hosting completo por 2 años en línea, hoy ya no necesito el hosting, tengo otro dominio.com/2 donde quiero que el dominio.com/1 se redireccione a dominio.com/2. Pero toda la información, es decir, dominio.com/1/categoria/hola.html también se redireccione a dominio.com/2.
    Cuando tuve que renovar el dominio y hosting de dominio.com/1, solo renové el dominio, pero no el hosting. Estando ya en dominio.com/2 puse el dominio.com/1 como subdominio e hice la redireccion en el .htaccess del subdominio (ahora) dominio.com/1
    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^dominio\.com\.1$ [OR]
    RewriteCond %{HTTP_HOST} ^www\.dominio\.com\.1$
    RewriteRule ^/?$ "http\:\/\/www\.dominio\.com\/2\-dominio\-1" [R=301,L]
    Funciona la redirección PERO solo el home del dominio.com/1 al dominio.com/2, pero mi pregunta es…
    Opción 1.- qué puedo hacer para que TODO del dominio.com/1 se redireccione al dominio.com/2, pues cuando quiero entrar por ejemplo a dominio.com/1/categoria/hola.html , me manda error 404 y no me redirecciona al dominio.com/2.
    Opción 2: poder redireccionar el error 404 a dominio.com/2? pero cómo hacerlo en .htaccess más la redirección que ya existe (301)
    opción 3: Debo tener hosting para poder hacer todo tipo de redirecciones?
    Espero me haya explicado y me puedan ayudar.
    Muchas gracias

  3. Samuel

    Hola:
    Hace poco se compro un certificado SSL para 5 paginas. 1 Principal y 4 secundarias por asi decirlo que son cubiertas con la primera.

    En la principal ya sea que teclees como www y sin www entra en accion el https.
    En las otras 4 tengo que teclear tal como se dieron de alta en el certificado para que entre el https.

    Me comentaron con el proveedor de hosting, que fue donde adquiri el certificado, que tengo volver a dar de alta esas 4 paginas en el certificado porque se habian dado de alta sin www y debo modificar el htaccess haciendo que redireccione de tal manera que al escribir en el navegador ejemplo.com me mande a https://www.ejemplo.com.

    Algun tip que me puedan dar se los agradeceria infinitamente.

    Saludos

    1. ayuda Article Author

      Normalmente los certificados SSL debes de pedirlo con www. para que sirvan tanto para www. como sin www.
      Si lo has pedido sin www. lo que deberá es redireccionar sus dominios de www. a sin http://www., para ello utilice el siguiente formato en su .htaccess:

      Options +FollowSymlinks
      RewriteEngine On

      RewriteCond %{HTTP_HOST} ^www.sudominio.com [NC]

      RewriteRule ^(.*)$
      https://sudominio.com/$1 [R=301,L]

  4. Margarita

    ¡Hola!
    Buscando información para resolver un problema que tengo en mi página he dado con este artículo. La cosa es la siguiente: He migrado mi tienda Prestashop de una carpeta (www.misitio.es/tienda) a la raiz del sitio. Algunas opciones del Backoffice no puedo modificarlas porque me sale un error 500. He modificado vaias cosas, pero sigue igual, modificando el .htaccess podría solucionarlo, en ese caso, me podrías achar una mano? Gracias de antemano, ya no sé dónde buscar la solución. ¡Saludos!

    1. ayuda Article Author

      A parte de mover los archivos del subdirectorio /tienda al directorio principal deberá de modificar en su Backend o en su Base de datos el Sitio de sudominio.com/tienda a sudominio.com. Luego elimine el .htaccess y vuelva a acceder a su Web Prestashop generará un nuevo .htaccess configurando el sitio como sudominio.com en vez de sudominio.com/tienda

    1. ayuda Article Author

      Utilice las sigueintes líneas en su .htaccess
      # .htaccess redireccionamiento de dominio principal a subdirectorio
      # No cambiar estas líneas.
      RewriteEngine on
      # Cambiar sudominio.com por el nombre de su dominio
      RewriteCond %{HTTP_HOST} ^(www.)?sudominio.com$
      # Cambiar ‘subdirectorio’ por el directorio que usarás para el dominio principal.
      RewriteCond %{REQUEST_URI} !^/subdirectorio/
      # No modificar estas dos líneas.
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      # Cambiar ‘subdirectorio’ por el subdirectorio que utilizarás para este dominio.
      RewriteRule ^(.*)$ /subdirectorio/$1
      # Cambiar sudominio.com por el nombre de su dominio
      # Cambiar ‘subdirectorio’ por el subdirectorio que utilizarás para este dominio
      # Después de / indique el archivo principal de su sitio, index.php, index.html, etc.
      RewriteCond %{HTTP_HOST} ^(www.)?sudominio.com$
      RewriteRule ^(/)?$ subdirectorio/index.php [L]

  5. Pepe

    Hola.
    Tengo una redirección a htpps, de siguiente modo:
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://www.dominio.es/$1 [R,L]

    El probelma es que quiero que no afecte al contenido de la carpeta /casa/ como podría hacerlo’
    Muchas gracias

  6. Rolando

    Hola tengo un problema y no se si se pueda solucionar con el .htaccess
    Tengo una web en wordpress que la cuando accedes ala pagina principal osea http://www.midominio.com entra perfectamente pero cuando entro a cualquier enlace de la web en la barra de direcciones pe agraga un subdominio asi http://www.midominio.subdominio.com/enlace quisiera saber si es posible quitar el subdominio y que quede como http://www.midominio.com/enlace , espero y me puedan ayudar.

  7. Alvaro

    Buenas. Muy buen post, felicidades.

    He estado añadiendo redirecciones al hracces de mi prestashop y ha funcionado correctamente.
    Pero he tenido un problema, a los días ha desaparecido, como si haya regenerado uno nuevo.
    ¿Esto es normal? ¿Cuando se regenera el htaccess?

    Gracias

  8. Isaac

    Hola buenos días. El tema es que al usar:
    Redireccionar todo el contenido de un dominio a la página inicial del nuevo dominio:
    RedirectMatch 301 ^(.*)$ https://www.nuevodominio.com/ luego el site no funciona.

    El tema es que quiero redirigir todo a https://www.nuevodominio.com/ y evitar así posibles errores 404. A ver si me podéis echar una mano. ¿Cual sería la opción correcta?

    Gracias, por el post, la verdad es que fue muy útil y gracias de antemano por las ayudas.

  9. Bere

    Ya probé las opciones para que mi sitio al escribirlo SIN WWW direccione automáticamente al sitio con WWW, con otros de mis sitios lo hace sin problema, pero entonces ¿Cuál podr{a ser el fallo?
    En el mismo htacces metí el error 404 y ese sí funciona.
    Gracias

    1. ayuda Article Author

      Por defecto, su dominio apuntará a https:// debe de tener el siguiente valor en su .htaccess que deberá de eliminar para que no realice dicho redireccionamiento:

      RewriteEngine on

      RewriteOptions inherit

      RewriteCond %{SERVER_PORT} 443

      RewriteRule ^(.*)$
      https://sudominio.com/tienda
      [R,L]
      RewriteCond %{SERVER_PORT} 80

      RewriteRule ^(.*)$
      https://sudominio.com/tienda
      [R,L]

      ó en su defecto

      RewriteEngine on
      RewriteCond %{SERVER_PORT} 80

      RewriteCond %{REQUEST_URI} NOMBRE_DIRECTORIO

      RewriteRule ^(.*)$
      https://sudominio.com/NOMBRE_DIRECTORIO/$1
      [R,L]

  10. Gustavo

    Hola, Buenos dias, como puedo redireccionar un sudominio hacia una ip, pero que estas sea enmascarada por el sub dominio, mediante el .htaccess
    Saludos

    1. ayuda Article Author

      Le recomiendo que lo redireccione desde su Panel de Control, por ejemplo, en cPanel en el Editor de Zona de DNS Avanzado podrá redireccionar el Record A de su subdominio a la Ip que desee.

  11. Jesús

    Hola, ¿cómo podría redireccionar /galeria.html?view=gallery9 a /galeria.html?

    No consigo realizarlo, gracias!

  12. ricardo

    tengo vieja web:
    midominio.com
    la nueva que esta en un subdirectorio de la vieja es:
    midominio.net
    Este dominio .net esta como un dominio adicional, no parkeado
    En la nueva midominio.net puede tener luego del dominio:
    /post.php?id=123 o tambien:
    /section.php?s=xyz donde xyz seria lo cargado en un buscador…
    Si quiero que cualquier otra cosa que venga despues… como por ejemplo el nombre de un usuario
    midominio.net/pepe (Donde pepe es un usuario pero puede venir cualquier nombre) vomo hago para que me lleve a un archivo x.php donde con el dato del usuario (Ej. pepe) yo lo pueda manejar buscando el id de pepe en mi base y luego si abra:
    midominio.net/user.php?u= (el id correspondiente)
    Yo ya probe redireccionar x htaccess con error 404 y mando al x.php que haria todo el tema de la busqueda del id etc y abriria el user.php acompañado del id correspondiente, pero no le puedo enviar al x.php el nombre del usuario (pepe en este ejemplo)
    Gracias

  13. Wilfredo

    Hola en google search console me aparecen automaticamente al crear una nueva pagina interna de mi sitio contenido duplicado de este tipo: /index.php?o=ninos y que no debería existir o por lo menos que cuando se quiera entrar a /index.php?o=ninos lo redirija automaticamente a /ninos.html (esta página es generada dinámicamente) pero tengo muchas páginas así… cómo hago para redirigr todas del tipo /index.php?o=ninos a su similar correcta /ninos.html poniendo una por una en el .htacess se puede pero cada vez que se crea una nueva página vuelve a hacer lo mismo, como hago para que ya no se genere de esa manera? Por favor su ayuda.

  14. Maria Vazquez

    Hola, tengo un problema y es que utilizo una plataforma opencart la cual me ocasiona problemas con el https, tengo ya el certificado SLL e hice todas las configuraciones correspondientes para que mi pagina abra con https, el problema es que mi tienda ya abre todo en https, pero si quiero accesar a mi panel de control de la tienda (login) estando segura osea con https este no me deja accesar.
    En el .htaccess tengo el siguiente codigo.

    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://misitioweb.com/$1 [R,L]

    Entonces lo que busco es que mi tienda quede con https y mi panel de control quede con http, se los agradecería mucho. Me urge

  15. Camilo juan

    Muchas gracias por la informacion, pero falto lo mas importante,

    mi web ahora lo tengo de esta forma,
    midominio/cursos/este-es-un-curso-de-musica.html
    midominio/curiosidades/este-es-una-curiosidad.html
    midominio/vagos/este-post-para-informar.html
    midominio/salud/este-post-para-tu-salud.html

    son como 400 post indexados en google..

    quiero CAMBIAR SIN MORIR EN EL INTENTO por (enlaces permanetes)

    solo tendria el problema con los visitantes ya que esas urls no existiran nunca mas,,, Alguna forma para redireccionar por .htaccess Ò plugin y no morir en el intento?.

    Lo quiero asi, normalmente.

    midominio/este-es-un-curso-de-musica/
    midominio/este-es-una-curiosidad/
    midominio/este-post-para-informar/
    midominio/este-post-para-tu-salud/

    saludos amigos espero sus consejos, buen dia,

    1. ayuda Article Author

      Esto es debido a que wordpress modifica el archivo .htaccess
      Debería de tener instalado el wordpress en un subdirectorio y la WEb en el directorio raiz.

  16. Andres J

    Si quiero redirecciones de lo ejemplo:
    Mi dominio.es a mi dominio.es/inicio,
    Es decir que podefecto vaya a una pagina determinada, no al directorio raíz. Como seria?

    1. ayuda Article Author

      Utilice las sigueintes líneas en su .htaccess
      # .htaccess redireccionamiento de dominio principal a subdirectorio
      # No cambiar estas líneas.
      RewriteEngine on
      # Cambiar sudominio.com por el nombre de su dominio
      RewriteCond %{HTTP_HOST} ^(www.)?sudominio.com$
      # Cambiar ‘subdirectorio’ por el directorio que usarás para el dominio principal.
      RewriteCond %{REQUEST_URI} !^/subdirectorio/
      # No modificar estas dos líneas.
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      # Cambiar ‘subdirectorio’ por el subdirectorio que utilizarás para este dominio.
      RewriteRule ^(.*)$ /subdirectorio/$1
      # Cambiar sudominio.com por el nombre de su dominio
      # Cambiar ‘subdirectorio’ por el subdirectorio que utilizarás para este dominio
      # Después de / indique el archivo principal de su sitio, index.php, index.html, etc.
      RewriteCond %{HTTP_HOST} ^(www.)?sudominio.com$
      RewriteRule ^(/)?$ subdirectorio/index.php [L]

Deja un comentario

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