Saltar la navegación

4.5.- Uso de archivos .htaccess para redireccionamiento

Las redirecciones son muy importantes en el mundo del marketing digital, porque los servicios de Google penalizan las páginas con contenido duplicado o enlaces rotos. Si una empresa migra su portal web a una nueva dirección, las URLs de acceso antiguas deben redirigirse a las nuevas ubicaciones.
Para que funcionen las directivas de redirección hay que activar el módulo "rewrite" en el panel de configuración principal de Webmin o desde un terminal, escribiendo:

$ a2enmod rewrite
$ sudo systemctl restart apache2

Para probar la redirección creamos la carpeta /var/www/html/redirecciones.
En primer lugar añadimos la directiva “AllowOverride” en el archivo de configuración /etc/apache2/apache2.conf

(...)
<Directory /var/www/html/redirecciones>
Options Indexes FollowSymLinks
AllowOverride FileInfo AuthConfig Limit Indexes
Require all granted
</Directory>
(...)

Redirección de directorios dentro de un servidor

En primer lugar, partimos del directorio del servicio /var/www/html/redirecciones :

profesor@servidordns:/var/www/html/redirecciones$ sudo mkdir nuevaweb
profesor@servidordns:/var/www/html/redirecciones$ sudo mkdir viejaweb
profesor@servidordns:/var/www/html/redirecciones$ ls -al
(...)
drwxr-xr-x 2 root root 4096 dic 28 22:03 nuevaweb
drwxr-xr-x 2 root root 4096 dic 28 22:03 viejaweb

Los archivos html en las carpetas serán estos:

  • en nuevaweb/index.html:
<!doctype html>
<html>RewriteEngine On
Redirect 301 /redirecciones/viejaweb/ /redirecciones/nuevaweb
<head>
<meta charset="utf-8">
<title>Nueva Web</title>
</head>
<body>
<p><strong>Bienvenido a la nueva web</strong></p>
<p> Esto es un texto de prueba de la nueva web </p>
</body>
</html>
  • en viejaweb/index.html:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Vieja Web</title>
</head>
<body>
<p><strong>Bienvenido a la vieja web</strong></p>
<p> Esto es un texto de prueba de la vieja web </p>
</body>
</html>

Para conseguir la redirección automática de las carpetas, crearemos un archivo .htaccess en la carpeta principal del servicio, /var/www/html/redirecciones:

$ cat .htaccess
RewriteEngine On
Redirect 301 /redirecciones/viejaweb/ /redirecciones/nuevaweb

Y tras reiniciar el servicio, cada vez que intentemos acceder con el navegador a la carpeta “viejaweb”, nos llevará a “nuevaweb”. Abrimos el navegador, tecleamos la URL:

http://www.miclase.local/redirecciones/viejaweb/ 

HTTP Apache 05
José A. Jiménez (CC0)



Al pulsar ENTER, el navegador carga la página de destino (redirigida):

HTTP Apache 06
José A. Jiménez (CC0)