Saltar a contenido

P2.6 Redirect

En esta práctica, aprenderemos a configurar redirecciones en Apache utilizando la directiva Redirect. Las redirecciones son útiles cuando necesitamos cambiar la ubicación de un recurso web o cuando queremos redirigir a los usuarios a una página diferente.

  1. Editar el fichero de configuración del host virtual:
    sudo nano /etc/apache2/sites-available/sitio1.conf
    
  2. Agregar la directiva Redirect. Dentro del bloque <VirtualHost>, agrega la siguiente línea para redirigir todas las solicitudes a http://www.ejemplo.com:
        Redirect /buscador https://www.google.com
    
  3. Guardar y salir del editor.
  4. Reiniciar Apache para aplicar los cambios:
    sudo systemctl restart apache2
    
  5. Verificación. Ahora, si accedemos a http://sitio1.local/buscador en nuestro navegador, deberíamos ser redirigidos automáticamente a https://www.google.com.

Nota

La directiva Redirect puede tomar varios parámetros, como el código de estado HTTP (por ejemplo, 301 para redirecciones permanentes o 302 para redirecciones temporales). Por defecto, Apache utiliza una redirección 302.

    Redirect 301 /antigua-pagina https://www.ejemplo.com/nueva-pagina

Redirección interna

También es posible redirigir a una ruta interna dentro del mismo servidor. Por ejemplo, para redirigir /inicio a /pagina-principal, podemos hacer lo siguiente:

  1. Agregar la directiva Redirect. Dentro del bloque <VirtualHost>, agrega la siguiente línea:
        Redirect /inicio /pagina-principal
    
  2. Guardar y salir del editor.
  3. Reiniciar Apache para aplicar los cambios:
    sudo systemctl restart apache2
    
  4. Creamos los archivos y directorios necesarios para la verificación:
    sudo mkdir -p /www/sitio1/pagina-principal
    sudo mkdir -p /www/sitio1/inicio
    cd /www/sitio1/pagina-principal
    sudo nano index.html
    cd /www/sitio1/inicio
    sudo nano index.html
    
  5. Verificación. Ahora, si accedemos a http://sitio1.local/inicio, deberíamos ser redirigidos automáticamente a http://sitio1.local/pagina-principal.

Redirect vs Alias

Es importante no confundir la directiva Redirect con la directiva Alias. Mientras que Redirect se utiliza para redirigir a los usuarios a una URL diferente, es decir, se realiza una nueva solicitud HTTP, la directiva Alias se utiliza para mapear una URL a un directorio en el sistema de archivos del servidor sin cambiar la URL en el navegador del usuario.