Diferencia entre revisiones de «Módulo Rewrite en Apache 2.4»

De MediaWiki
Ir a la navegación Ir a la búsqueda
 
Línea 31: Línea 31:
  
 
= Usos =
 
= 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í:
 +
<pre>
 +
Options FollowSymLinks
 +
RewriteEngine On
 +
RewriteRule ^operacion\.html$ operacion.php
 +
</pre>
  
 
= Referencias =
 
= Referencias =

Revisión actual del 13:10 18 nov 2020

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