Crear un archivo .htaccess en tu servidor web de DreamHost
Ve el siguiente artículo para ver instrucciones de cómo crear un archivo .htaccess en tu servidor web:
Si el archivo ya existe, ve los siguientes artículos para ver instrucciones de como actualizarlo (dependiendo si estás usando FTP o SSH):
¿Que cambiar en los ejemplos de abajo?
Los ejemplos a continuación pueden ser ingresados dentro de tu archivo de .htaccess como se muestran. Solo asegurate de ajustar el camino al archivo para que el .htaccess sepa donde está localizado. También, si ves el dominio example.com cambialo por tu nombre de dominio.
Redireccionar todas las URL
La siguiente línea redirecciona todas las URL en tu sitio a un nuevo sitio.
Redirect 301 / https://example.com/
Redireccionar una URL
Usando una redirección en un archivo .htaccess puedes redireccionar a los usuarios de una vieja página a una nueva sin tener que mantener la vieja página. Por ejemplo, si usas index.html como tu archivo index y luego renombras index.html a home.html, puedes hacer una redirección para enviar a los usuarios del index.html a home.html. Por ejemplo:
Redireccionar a un archivo del sitio local
Redirect /camino/al/viejo/archivo/viejo.html /camino/al/nuevo/archivo/nuevo.html
Redireccionar a un archivo de un sitio externo
Redirect /camino/al/viejo/archivo/viejo.html https://www.example.com/nuevo/archivo/nuevo.html
El primer camino
El primer camino al viejo archivo tiene que ser un camino local UNIX, NO el camino completo. Entonces, si tu archivo .htaccess está en el directorio/example.com, no incluyas /home/username/example.com en el camino local UNIX. El primer / representa el directorio example.com. Si el archivo viejo estaba en este directorio, seguirás el / con el nombre del viejo archivo.
El segundo camino
El segundo camino al nuevo archivo puede ser un camino local UNIX, pero también ser una URL completa enlazada a una página de un servidor diferente o el mismo servidor.
Ejemplos de redirecciones
Redireccionar de un directorio a un archivo HTML
RedirectMatch 301 ^/blog/about /blog/about.html
Redireccionar de un archivo index.html a un directorio diferente
Redirect /index.html /new/
Redireccionar de index.html a default.html
Redirect /index.html /default.html
Redireccionar de un directorio local /privado a otro directorio privado del sitio
Redirect /private/ https://www.example.com/private/
Cargar un archivo .gif de un sitio diferente
Asegúrate que el otro sitio sea tuyo. Nunca hagas redirecciones (hot links) de otros sitios web.
Redirect /img/logo.gif https://www.example.com/images/logo.gif
Usar Expresiones Regulares
Si quieres usar una Expresión Regular para redirigir algo, usa la directríz RedirectMatch:
RedirectMatch "^/oldfile\.html/?$" "https://example.com/newfile.php"
Redirigir mensajes de error
Puedes también redirigir errores 404. En vez de lanzar una página 404, este redirecciona a la página principal del sitio.
ErrorDocument 404 https://example.com/
Redirigir un directorio viejo a un nuevo directorio
Estos archivos redirigen de un directorio viejo (/blog/archivados) a un nuevo directorio (/archivados). Este archivo debe existir en el nuevo directorio para que funcione.
RewriteRule ^blog/archives/(.*)$ /newarchives/$1 [R=301,NC,L]
Redireccionar páginas no existentes a index.php
Si un visitante intenta acceder a un página que no existe, se les presentará un error 404. Tu puedes en vez de eso redirigir cualquier requerimiento a una página no existente a tu archivo index.php (o cualquier archivo index) agregando el siguiente código a tu .htaccess:
Options +SymLinksIfOwnerMatch RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
Si tu página no es index.php, solo cambia la última línea a tu archivo index. Luego el visitante será redirigido de vuelta a tu página principal.
Cargar un subdirectorio automáticamente
Este ejemplo redirige la URL del dominio ROOT a cualquier subdirectorio. En este ejemplo, éste automáticamente carga example.com/subdir1:
RewriteEngine on RewriteRule ^$ /subdir1/ [L]
Forzar www en una URL
RewriteEngine On RewriteCond %{HTTP_HOST} ^example.com RewriteRule (.*) https://www.example.com/$1 [R=301,L]
Eliminar www en la URL
RewriteEngine On RewriteCond %{HTTP_HOST} ^www.example.com RewriteRule (.*) https://example.com/$1 [R=301,L]
Sobrescribir una URL
Este ejemplo sobrescribe una URL a otra URL. Este ejemplo de sobreescritura example.com/1.html a example.com/abc.php?id=1.
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^([0-9]+).html /abc.php?id=$1 [QSA,L]
Lo siguiente explica las reglas de arriba:
- ([0-9]+)
- Permite cualquier dígito, y solamente cualquier dígito 1 o más veces.
- ([a-z-]*)
- permite cualquier letra minúscula, más "-" por separación de palabra, 0 o más veces. Si quieres que soporte mayúsculas también, usa ([a-zA-Z-]*). Por ejemplo:
- RewriteRule ^place/([a-zA-Z-]*).html /place/abc.php?id=$1 [QSA,L]
- [QSA,L]
- agrega esto a tu línea de query del script interno, y hará que la última regla sea ejecutada.
Después de usar este método, puedes abrir la página con cualquier tipo de dirección. Ésto es útil para retro equipar un sitio web que no fué diseñado con una mentalidad de mod_rewrite. Esto es bueno por que no destruye ningún favorito guardado en los computadores de los usuarios.
Vé el siguiente enlace para más información y ejemplos sobre mod_rewrite:
Sobrescribit link no existentes a index.php
Lo siguiente redirige todos los links o carpetas que no existen a index.php. Sin embargo, si el archivo o directorio existe, éste 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 o HTTPS para tu sitio
Ve el siguiente artículo para ver instrucciones de como forzar tu sitio a cargar con HTTPS: