Ahora vamos a ver cómo realizar con htaccess unas reglas de redirección, de las URLs pensadas para que estén bien promocionadas en buscadores hacia direcciones que nos sean fáciles de procesar y mantener con PHP.
El archivo htaccess es un fichero de texto que se llama .htaccess, es decir, su nombre comienza con un punto. Se puede crear con cualquier editor de textos y se coloca en el directorio donde deseamos que afecten las configuraciones indicadas dentro del fichero. Si lo colocamos en el directorio de publicación raíz del dominio, afectará a todos los directorios del dominio, pues este archivo modifica el directorio que lo contiene y todos los subdirectorios.
El mecanismo para crear unas redirecciones pensadas para un mejor posicionamiento en buscadores es el siguiente. En el archivo .htaccess se define una regla de redirección interna, con esta sintaxis:
RewriteRule url_patron url_destino
RewriteRule es la instrucción para definir una redirección, que recibe dos parámetros: url_patron y url_destino. En el primero se especifica una URL patrón. Cuando la dirección a la que se está accediendo cumple el patrón indicado en url_patron, se redirecciona internamente hacia la URL de destino url_destino. La página se procesa en el archivo indicado en url_destino.
El patrón es una expresión regular que corresponde con un conjunto de URLs posibles. Cuando el visitante intenta acceder a una URL que cumple esa expresión regular, internamente se procesa la página a través de la url_destino. Decimos que es un proceso interno, porque nadie se entera que la URL se está procesando a través de otro archivo, pues la dirección que aparece en el navegador siempre será la original y los buscadores no podrán detectar que Apache ha realizado una redirección interna para procesar la página.
Así pues, para los visitantes y los buscadores que indexen los contenidos de nuestra web, las direcciones que están accediendo son las amigables para buscadores, a pesar que en realidad esos documentos no existan dentro de la estructura de directorios del servidor y el procesamiento real de la página se realice en otra URL de destino.
Un ejemplo de instrucción RewriteRule podría ser el siguiente:
RewriteRule ^articulos/(.+).php codigo/ver_articulo.php?nombre=$1
Como se ha dicho, la primera parte es el patrón que debe cumplirse para que se realice la redirección interna. Dicho patrón es una expresión regular que tiene una sintaxis especial.
La dirección que se está accediendo en el servidor (URL) tiene que concordar con la expresión regular para que se realice la redirección. En la primera parte de la instrucción RewriteRule del ejemplo indicado anteriormente teníamos esta expresión regular:
^articulos/(.+).php
Para explicar esta expresión regular creo que es mejor verla por partes.
La primera parte sería "^articulos/". Esto quiere decir todas las URL que comiencen por "articulo/" (la palabra artículo seguida de una barra). El carácter ^ significa el comienzo de una expresión.
La segunda parte es (+.). El "+" significa una o más repeticiones de algo. El "." significa cualquier carácter, luego "+." significaría uno o más repeticiones de cualquier carácter, es decir, cualquier conjunto de uno o más caracteres. El paréntesis sirve para agrupar expresiones. Luego veremos para qué nos puede servir esa agrupación.
Por último, en la expresión regular tenemos ".php". La contrabarra es un carácter de escape que sirve para que el "." siguiente no sea considerado como cualquier carácter, sino como un punto sin más. Entonces, esto quiere decir ".php".
En conjunto la expresión regular significa cualquier cosa que empiece por "articulos/", seguido de cualquier carácter o conjunto de caracteres, seguido de ".php".
Con esta expresión regular concordarían URLs como estas:
articulos/loquesea.php
articulos/otra-cosa.php
articulos/1234-xx_zz.php
Usuarios que han visto este tema también han visto...
- El futuro de Internet, X/HTML 5 vs XHTML 2
- Blogs y periodismo ciudadano
- Intercambio de enlaces cualificados, SEO
- Para tener en cuenta a la hora de buscar en Google
- La forma más sencilla de colocar mapas en una web
Información legal | Política de Privacidad | Contacte con nosotros
Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.