Generalmente el paso de variables entre páginas genera una dirección del tipo http://mipagina/pagina.php?idioma=es&seccion=ficha&id=234 las cuales son difíciles de recordar por el usuario y muchas veces no son seguidas por los robots de los buscadores como google. Un problema adicional es que un usuario malintencionado puede corromper los parámetros de entrada introduciendo caracteres extraños para provocar un error que le permita obtener información sobre nuestra aplicación web. Existe una solución para estos problemas
El modulo mod_rewrite es un complemento para Apache (también existe una versión para IIS) que permite la creación de URLs más amigables. Además permite parsear la url para garantizar que los parámetros introducidos son sintácticamente correctos.
Si has instalado apache2 es de suponer que también tendrás instalado mod_rewrite. Para comprobar puedes listar los módulos disponibles en la configuración de apache mediante el comando:
$ls /etc/apache2/mods-avaliable
Y entre otros archivos aparecerá uno llamado rewrite.load. Pero este módulo está desactivado por defecto, para activarlo habría que copiar el archivo a mods-enabled pero el sistema nos permite atajar esto mediante el comando:
$sudo a2enmod rewrite
Para garantizar que el módulo además de cargarse esté activo debemos incluir esta línea en el /etc/apache2/apache2.conf:
RewriteEngine on
RewriteRule ^/shortcut$ /complicated/and/way/too/long/url/here
Aunque en teoría esto podría incluirse sólo en el archivo .htaccess que veremos más adelante. Tras esto reiniciamos el servidor con:
$sudo /etc/init.d/apache2 restart
et voila! Ya tenemos activado el módulo mod_rewrite, vamos ahora a configurar unas reglas.
El modulo mod_rewrite es un complemento para Apache (también existe una versión para IIS) que permite la creación de URLs más amigables. Además permite parsear la url para garantizar que los parámetros introducidos son sintácticamente correctos.
Si has instalado apache2 es de suponer que también tendrás instalado mod_rewrite. Para comprobar puedes listar los módulos disponibles en la configuración de apache mediante el comando:
$ls /etc/apache2/mods-avaliable
Y entre otros archivos aparecerá uno llamado rewrite.load. Pero este módulo está desactivado por defecto, para activarlo habría que copiar el archivo a mods-enabled pero el sistema nos permite atajar esto mediante el comando:
$sudo a2enmod rewrite
Para garantizar que el módulo además de cargarse esté activo debemos incluir esta línea en el /etc/apache2/apache2.conf:
RewriteEngine on
RewriteRule ^/shortcut$ /complicated/and/way/too/long/url/here
Aunque en teoría esto podría incluirse sólo en el archivo .htaccess que veremos más adelante. Tras esto reiniciamos el servidor con:
$sudo /etc/init.d/apache2 restart
et voila! Ya tenemos activado el módulo mod_rewrite, vamos ahora a configurar unas reglas.
Este comentario ha sido eliminado por un administrador del blog.
ResponderEliminarHello. This post is likeable, and your blog is very interesting, congratulations :-). I will add in my blogroll =). If possible gives a last there on my blog, it is about the Wireless, I hope you enjoy. The address is http://wireless-brasil.blogspot.com. A hug.
ResponderEliminar