Generalidades
Este artículo explica cómo agregar código a un archivo .htaccess para redirigir o reescribir la URL en tu sitio web.
Crear un archivo .htaccess en tu servidor web de DreamHost
Revisa este artículo para obtener instrucciones sobre cómo crear un archivo .htaccess en tu servidor web.
Redireccionar
Los ejemplos de esta sección redirigen directorios o archivos específicos a otra ubicación.
Redirecciones comunes
Redirigir todas las URLs a un sitio nuevo
Los dos ejemplos siguientes redireccionan todas las URL de tu sitio web actual a un segundo sitio web. Esto es útil después de haber migrado tu sitio a un nuevo dominio.
Opción 1 — Redirigir todas las URL antiguas a la nueva página de inicio
-
Redirect 301 / https://example.com/
Opción 2 — Redirigir todas las URL antiguas a la nueva URL
En este ejemplo, tu sitio antiguo se redireccionaría conservando todas las URL a un nuevo sitio llamado dreamhostexample.com.
-
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule (.*)$ https://www.dreamhostexample.com/$1 [R=301,L]
</IfModule>
Redirigir una sola URL
Estos ejemplos redirigen un solo archivo a un archivo local o externo.
Ten en cuenta lo siguiente:
- La primera ruta: Esta debe ser una ruta local en el servidor, NO la ruta URL completa. Por lo tanto, si el archivo .htaccess está en el directorio /example.com, no incluirías /home/username/example.com en la ruta local de UNIX. El primer / representa el directorio example.com. Si el archivo anterior estaba en ese directorio, después de / colocarías el nombre del archivo anterior.
- La segunda ruta: Esta puede ser una ruta UNIX local o una URL completa que enlaza a una página en un servidor diferente o en el mismo servidor.
Redirigir a un archivo local del sitio
-
Redirect /path/to/file/old.html /path/to/file/new.html
Redirigir a un archivo externo del sitio
-
Redirect /path/to/file/old.html https://www.example.com/new/file/new.html
Redirigir mensajes de error
Usa ErrorDocument para redirigir los códigos de error. Este ejemplo redirige un error 404 a la página de inicio del sitio web.
-
ErrorDocument 404 https://example.com/
Redirigir directorios
Redirigir de un directorio a un archivo
Esto redirige el directorio /blog/about al archivo about.html.
-
RedirectMatch 301 ^/blog/about /blog/about.html
Redirigir un directorio local a otro directorio del sitio
Esto redirige el directorio local llamado private al directorio private de otro sitio.
-
Redirect /private/ https://www.example.com/private/
Redirigir todos los archivos de un directorio antiguo a un directorio nuevo
Esto redirige todos los archivos de un directorio antiguo llamado archives a un nuevo directorio llamado newarchives.
-
RewriteRule ^blog/archives/(.*)$ /newarchives/$1 [R=301,NC,L]
Cargar un subdirectorio automáticamente
Este ejemplo redirige la URL del dominio al subdirectorio denominado blog:
-
RewriteEngine on RewriteRule ^$ /blog/ [L]
Redirigir archivos
Redirigir un index.html a un directorio diferente
-
Redirect /index.html /directory/
Redirigir index.html a default.html
-
Redirect /index.html /default.html
Reescribir
Los ejemplos de esta sección reescriben las URL en una ubicación específica.
Reescribir enlaces no existentes a index.php
Lo siguiente redirecciona todos los enlaces a archivos o carpetas que no existen a index.php. Sin embargo, si el archivo o directorio sí existe, se carga normalmente:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Redirigir HTTP a HTTPS en tu sitio
Revisa este artículo para obtener instrucciones sobre cómo forzar la carga de tu sitio con HTTPS:
Fozar o eliminar www
Revisa este artículo para obtener instrucciones sobre cómo forzar la adición o eliminación de www de una URL.