Módulo Rewrite en Apache 2.4

De MediaWiki
Revisión del 13:10 18 nov 2020 de Joselv (discusión | contribuciones) (→‎Usos)
(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Ir a la navegación Ir a la búsqueda

Introducción

Este módulo permite crear direccións URL alternativas as dinámicas xeneradas pola programación do noso sitio web de xeito que sexan máis lexibles e sinxelas de recordar. Por exemplo:

De:
"http://exemplo.com/a/index.php?title=titulodapaxina"
A:
"http://exemplo.com/articulo/titulodapaxina"

Esto é positivo para os usuarios, e tamén para o posicionamento nos buscadores (SEO).

Tamén se pode utilizar para:

  • bloquear o acceso o noso site de determinadas direccións IP
  • crear uhna redirección do noso dominio a outro sitio
  • evitar que desde outros sitios utilicen as nosas imaxes (hotlinking)

Instalación

sudo a2enmod rewrite
sudo service apache2 restart

Configuración

É necesario habilitar o acceso mediante ficheiros .htaccess.

Para iso compre agregar estás liñas no virtual host que desexamos aplicar o cambio despois de DocumentRoot /var/www/html:

<Directory “/var/www/html”>
AllowOverride All
</Directory>

A continuación reiniciar o servizo:

sudo service apache2 restart

Usos

Un exemplo sinxelo sería no que temos un ficheiro php chamado operacion.php usado do seguinte xeito: http://localhost/operacion.php?op=suma&op1=3&op2=2

E queremos usar html no canto de php reescribindo a URL deste xeito:

http://localhost/operacion.html?op=suma&op1=3&op2=2

Para iso activamos o mod_rewite, e escribimos un .htaccess tal que así:

Options FollowSymLinks
RewriteEngine On
RewriteRule ^operacion\.html$ operacion.php

Referencias