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