Diego Di Camillo

Base de tips para problemas comunes de los desarrolladores.



Propagar parámetros query_strings, cuando usamos mod_rewrite de apache

28Oct17

En casi todos los sitios actuales, el mod_rewrite está presente para armar las URLs «amigables»  o «SEO Friendly»

Pero cuando tenemos URLs traducidas por alguna rule de mod_rewrite y queremos adicionarle a esta algun parametro del tipo query string, este no es propagado al archivo destino (servelet)

Ejemplo:

RewriteEngine On
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^leagues\/([^\/]+)\/?$ index_leagues.php?sport=$1  

Funciona perfectamente redirigiendo cualquier URL http://midominio.com/leagues/basketball a index_leagues.php?sport=basketball

Sin embargo, si yo quiero pasarle a http://midominio.com/leagues/basketball el parametro adicional, league_id de esta manera: http://midominio.com/leagues/basketball?league_id=1212 este parametro no es propagado a index_league.php

Para poder hacer que este parametros extra sea propagado (y todos los que quieras) debes poner un flag en la definicion de rewrite rule:

RewriteEngine On
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^leagues\/([^\/]+)\/?$ index_leagues.php?sport=$1   [QSA]

El flag [QSA] que significa Query String Append, adiciona a index_leagues.php todo los query string luego de sport=$1

En este link, tenés un listado completo de flags aplicables a las RewriteRules de apache: http://httpd.apache.org/docs/current/rewrite/flags.html

 

Archivado en: Apache, configuraciones, General, PHP   |  0 Comentarios

Sin comentarios a “Propagar parámetros query_strings, cuando usamos mod_rewrite de apache”  

Feed de este artículo URI para Trackbacks
  1. No hay comentarios
Enviando tu Comentario
Por favor espera

Deja una respuesta

Hubo un error con tu comentario, por favor intenta de nuevo.



Comparte este artículo

  • Menéame  Menéalo
  • del.icio.us  Enviar a Del.icio.us
  • Mi Yahoo!  Agregar a Mi Web 2.0
  • Furl  Guardar en Furl
 


wordpressk2openswitchyukei.netfeedwordpress