Ejemplo más complejo de RewriteRule
Vemos un segundo caso de redirección de URLs amigables a buscadores hacia URLs con paso de parámetros.
28/8/06 - En el anterior capítulo vimos como trasladar con RewriteRule parte de una URL estática a una URL con paso de parámetros. Para ello definíamos en el patrón una agrupación con (+.) y luego la utilizábamos con $1 en la URL redirigida con paso de parámetros. Ver el anterior artículo para más información.
En algunas ocasiones no basta con enviar un parámetro para que la página reciba todos los datos que necesita para mostrar los contenidos específicos.
Si en la expresión regular tuviéramos otros (+.) entonces en la url_destino tendríamos que utilizar $1 para el primer (+.) que haya en la expresión regular y $2 para el segundo, $3 para el tercero y así sucesivamente.
Por ejemplo, aquí podemos ver una sentencia RewriteRule que utiliza dos partes con (+.) para hacer el patrón.
RewriteRule ^agenda/(.+)/(.+)\.html codigo/cita.php?mes=$2&anio=$1
Esta expresión regular quiere decir: Cualquier URL que comience por "agenda/", seguida de cualquier cosa, luego una barra y cualquier otra cosa, acabado en ".html" (fijarse la contrabarra antes de ".html" que es un carácter de escape para indicar que el "." de antes de "html" es un punto, en lugar del codigo especial que suele significar cualquier caracter. Ver el artículo anterior para más explicaciones sobre las expresiones regulares de este estilo.
Como se puede ver, las direcciones estáticas amigables a buscadores no tienen por que finalizar en .php. En este caso finaliza en .html, pero podría acabar de cualquier otra forma, como .htm, .php3, .shtml o en un directorio.
En el caso del ejemplo anterior, una dirección con esta forma:
www.dominio.com/agenda/2006/7
Se hará corresponder con una url_destino así:
www.dominio.com/codigo/cita.php?mes=7&anio=2006
Aunque también podrían haber concordado otros modelos de direcciones como:
www.dominio.com/agenda/05/01
www.dominio.com/agenda/2006/marzo
Será nuestra responsabilidad hacer el tratamiento para que sólo las URL que queremos muestren la página correcta. Veremos en el proximo capítulo cómo hacer este tratamiento de posibles errores y cómo resolver otros posibles problemas del uso del htaccess.
Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 1 categoria relacionada
+ 1 comentario (Añadir)
+ 1 comentario no revisado
| Autoría, licencia y acciones sobre este artículo |
|
Informe de Miguel Angel Alvarez* Director de DesarrolloWeb.com
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
* Para consultas técnicas utilizar la lista de correo.
|
Manuales relacionados con este artículo
Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en
Apache
Comentarios de los visitantes
|
Los comentarios de los visitantes son para ampliar la información del artículo. Cualquiera puede participar.
|
| Se muestra un comentario revisado |
Comentario de Arturo
06/9/06
Lo mismo estoy equivocado, pero me parece que de...
^agenda/(.+)/(.+)\.html
sobra...
\.html
si queréis que se corresponda con...
www.dominio.com/agenda/2006/7
que es lo propio en urls mejoradas.
| Comentarios sin revisar |
|
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
|
Se ha encontrado un comentario sin revisar
Ir arriba