Cómo crear un redireccionamiento simple desde Apache 2014-05-04

Tutorial de configuración paso a paso de un redireccionamiento simpre utilizando el mod_alias de Apache HTTP Server en Debian Wheezy

En este nanotutorial vamos a aprender a configurar un redireccionamiento simple usando el mod_alias de Apache, así como los tipos de redireccionamiento que existen.

Cómo crear un redireccionamiento simple desde Apache

Cuando se ha configurado un dominio en Apache, es necesario decidir bajo que configuración deseas que el contenido de tu página web se despliegue. La pregunta básica: con www o sin www.

¿Porqué es necesario esto?

Cuando tu permites que tu página web sirva contenidos en ambas vias (Ej. http://www.nanotutoriales.com y http://nanotutoriales.com) lo que tienes es un problema de duplicidad de contenidos, esto para los motores de búsqueda es fatal. Es como mantener dos sitios a los cuales estas haciendo tareas de posicionamiento en motores de búsqueda y compiten entre ellos.

Solventar esto es muy fácil con mod_alias, y lo vamos a ver más adelante.

¿Que es mod_alias?

Es un módulo de Apache que permite manipular rutas de tu página web. Entre lo que se puede hacer es: crear rutas virtuales, redireccionar rutas, crear alias para rutas existentes incluso que no formen parte de tu sitio (en otro directorio dentro del servidor).

Vamos entonces a la configuración de nuestro redirect. Antes debes haber instalado el servidor Apache, si aún no lo has hecho, te recomiendo el siguiente nanoturorial: Instalación de Apache HTTP Server.

Para las siguientes configuraciones vamos a utilizar el editor nano, si no conoces de este editor o quieres aprender más de el, te recomiendo el siguiente nanotutorial: Tutorial del Editor de Texto Nano.

Habilitar mod_alias en Apache

Para habilitar mod_alias en Apache debemos ejecutar el siguiente comando:

sudo a2enmod alias

Separar configuraciones del vhost

Vamos a crear dos archivos vhost, uno donde estará la configuración del sitio que servirá el contenido (con www) y la segunda que contendrá el redirect (sin www). Apache guarda la configuracion de los vhost bajo el directorio /etc/apache2/sites-available. Con el editor nano, vamos a crear dos archivos en esta ruta.

sudo nano /etc/apache2/sites-available/www.nanotutoriales.com

Ahora añadimos el siguiente contenido.

<VirtualHost *:80>
  ServerName www.nanotutoriales.com

  ServerAdmin [email protected]

  DocumentRoot /home/www/vhosts/www.nanotutoriales.com/public
  <Directory />
	  Options FollowSymLinks
	  AllowOverride None
  </Directory>
  <Directory /home/www/vhosts/www.nanotutoriales.com/public>
	  Options -Indexes FollowSymLinks -MultiViews
	  AllowOverride All
	  Order allow,deny
	  allow from all
  </Directory>

  ErrorLog ${APACHE_LOG_DIR}/error.log

  # Possible values include: debug, info, notice, warn, error, crit,
  # alert, emerg.
  LogLevel warn

  CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Guardamos el archivo y ahora vamos a crear el segundo.

sudo nano /etc/apache2/sites-available/nanotutoriales.com

Ahora agregamos la configuración del redirect.

<VirtualHost *:80>
  ServerName nanotutoriales.com

  ServerAdmin [email protected]

  Redirect 301 / http://www.nanotutoriales.com
</VirtualHost>

Nuevamente debemos guardar el archivo. Lo que hemos definido en este es que cualquier acceso a la URL http://nanotutoriales.com debe redireccionarlo automáticamente hacia http://www.nanotutoriales.com.

Existen 4 tipos de redireccionamiento que podemos utilizar según nuestro criterio.

301

Indica que el recurso se ha movido de forma permanente.

302

Indica que el recurso se ha movido de forma temporal.

303

Indica que el recurso ha sido reemplazado por otro.

402

Indica que el recurso se ha eliminado de forma permanente. Cuando se utiliza este estado el argumento URL debe omitirse.

Habilitar archivos vhosts

Para que la configuración tenga efecto, debemos habilitar ambas configuraciones en Apache. Para esto debemos ejecutar los siguientes comandos.

sudo a2ensite www.nanotutoriales.com
sudo a2ensite nanotutoriales.com

Recargar la configuración de Apache

sudo service apache2 reload

Ahora que la configuración ha sido aplicada, basta ir a un navegador y probarla. Dirigete al dominio configurado sin www, verás que en cuestión de milisegundos este redirecciona al sitio con www.


Acerca del autor

Hugo Gilmar Erazo Full Stack Web Developer

Soy un desarrollador web con más de 10 años de experiencia. Me considero fanático de GNU/Linux, lo cual me ha permitido complementar mis conocimientos en el desarrollo web con la administración de servidores.

Aunque manejo todo lo relacionado al Front-End, me inclino más por el desarrollo Back-End. También desarrollo aplicaciones móviles híbridas. Me gusta lo que hago.

Compartir este artículo
Articulos relacionados