Buscar


imprimir pdf

Mod_rewrite


Introducción

La idea de mod_rewrite es convertir las URLs en estáticas, eliminando el parámetro que se pasa por la URL.

Los buscadores - en general - indexan con más facilidad las páginas estáticas que las dinámicas, así que es una posibilidad el engañarlos aplicando mod_rewrite y gracias a .htaccess convertir URLs dinámicas en estáticas.

Las viejas URLs con el parámetro redireccionarán ahora a las nuevas, así que no presentará ningún problema para la indexación.

Mod_rewrite está disponible en todos los planes de Ovh.


Las posibilidades son demasiadas para describirlas todas en esta guía.

Refiérase a la documentación oficial para más detalles: http://httpd.apache.org/docs/misc/rewriteguide.html

Resultado

Antes de aplicar la regla las direcciones de un foro son del estilo :

http://www.mi_dominio.com/foro/viewtopic.php?t=603

Después de aplicar la regla, las direcciones quedan de la forma :

http://www.mi_dominio.com/foro/tema_603.html

Mod_rewrite y Mod_ORT

ORT (Ovh Redirect Technology) es un modulo desarrollado por OVH que nos permite dar servicios de redirecciones y alojar un número importante de sitios con un gasto de RAM mínimo.

En algunos casos mod_ORT modifica la URL de la página y por tanto, podría tener algún problema si utiliza el mod_rewrite. La solución consiste en redefinir en mod_rewrite la raíz de reescritura.

Por ejemplo, las reglas :

RewriteRule ^age([0-9]+).html$ agenda.php?id=$1 [L]
RewriteRule ^miembro_([0-9]+).html$ member.php?id=$1 [L]

RewriteRule ^tema_([0-9]+).html$ viewtopic.php?t=$1 [L]
RewriteRule ^grp([0-9]+).html$ group.php?id=$1 [L]
RewriteRule ^art([0-9]+).html$ article.php?id=$1 [L]

RewriteRule ^([a-zA-Z0-9]*).html$ index.php?action=$1 [L]


deben ser cambiadas desde la raíz (/) y con la ruta URL completa del archivo dentro del sitio web.
Si el fichero está en raíz, debe añadir una barra (/) :


RewriteRule ^/age([0-9]+).html$ /agenda.php?id=$1 [L]
RewriteRule ^/miembro_([0-9]+).html$ /member.php?id=$1 [L]

RewriteRule ^/tema_([0-9]+).html$ /foro/viewtopic.php?t=$1 [L]
RewriteRule ^/grp([0-9]+).html$ /foro/group.php?id=$1 [L]
RewriteRule ^/art([0-9]+).html$ /foro/article.php?id=$1 [L]

RewriteRule ^/([a-zA-Z0-9]*).html$ /foro/sitemaps/index.php?action=$1 [L]


para los archivos :

http://www.mi_dominio.com/agenda.php
http://www.mi_dominio.com/member.php

http://www.mi_dominio.com/foro/viewtopic.php
http://www.mi_dominio.com/foro/group.php
http://www.mi_dominio.com/foro/article.php

http://www.mi_dominio.com/foro/sitemaps/index.php


Más información
: RewriteGuide :: Página web de Apache acerca de la reescritura
: HtaccessAutre :: Funcionalidad de los ficheros .htaccess
: HtaccessProtection :: ¿Como proteger el acceso a un directorio por autentificación?.
: InternalServerError :: Errores en la ejecución de scripts.
: HtaccessPhpVersion :: Opciones de PHP en los alojamientos compartidos