Diferencia entre revisiones de «Módulo Rewrite en Apache 2.4»
(→Usos) |
|||
| (No se muestran 2 ediciones intermedias del mismo usuario) | |||
| Línea 18: | Línea 18: | ||
= Configuración = | = 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'': | ||
<pre> | <pre> | ||
<Directory “/var/www/html”> | <Directory “/var/www/html”> | ||
| Línea 29: | 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 = | ||
| Línea 36: | Línea 51: | ||
* https://manuais.iessanclemente.net/index.php/O_Servidor_Web_Apache#mod_rewrite | * https://manuais.iessanclemente.net/index.php/O_Servidor_Web_Apache#mod_rewrite | ||
* https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/conoces-mod-rewrite/ | * https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/conoces-mod-rewrite/ | ||
| + | * https://www.josedomingo.org/pledin/2011/10/ejemplos-del-modulo-rewrite-en-apache-2-2/ | ||
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
- https://www.digitalocean.com/community/tutorials/how-to-rewrite-urls-with-mod_rewrite-for-apache-on-ubuntu-18-04
- http://httpd.apache.org/docs/current/rewrite/intro.html
- http://httpd.apache.org/docs/current/mod/mod_rewrite.html
- https://manuais.iessanclemente.net/index.php/O_Servidor_Web_Apache#mod_rewrite
- https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/conoces-mod-rewrite/
- https://www.josedomingo.org/pledin/2011/10/ejemplos-del-modulo-rewrite-en-apache-2-2/