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 /
http://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 ^(.*)$ http://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 ^(.*)$
http://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 http://sudominio.com/miforo lo redireccionará a http://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 http://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/
http://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/(.*)$
http://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 ^(.*)$
http://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 ^(.*)$
http://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 ^(.*)$
      http://sudominio.com/$1 [R=301,L]

  4. Kike

    Hola, a ver si me puedes ayudar:
    estoy intentando generar una regla que me transforme estas direcciones:
    dominio/index.php?id=222
    dominio/numero/222
    pero tengo otra regla que me quita los index.php
    es esta:
    RewriteRule ^([^\.]+)$ $1.php [NC,L]
    como soluciona para que dominio.index.php a parezca como dominio
    y ademas
    dominio/index.php?id=222 aparezca como dominio/numero/222 o dominio/222

    Gracias

  5. 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]

  6. teleko

    Buenas,

    Quisiera redireccionar todos los accesos a un subdirectorio subs/images/ donde se encuentran imagenes en svg que quisiera proteger, hacia un archivo image.php situado en subs/ que devuelve la imagen transformada en png. Este archivo image.php toma como parámetro get el enlace de acceso original (es decir, la URL de la imagen en SVG).
    Por lo que entiendo de htaccess debería ser algo así (archivo .htaccess en el mismo directorio que subs/):

    RewriteEngine On
    RewriteCond %{REQUEST_URI} subs/images/
    RewriteRule ^subs/images/?$ subs/image.php?link=$1

    Alguna idea de qué podría ir mal?

    Gracias de antemano

Deja un comentario

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