¿Cómo pasar parámetros GET a URL reescrita?

13

Tengo una .htaccessregla de reescritura como esta:

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^search/(.*)$ search.php?q=$1

Lo que esto hace es que si alguien visita http://example.com/search/testel URI que realmente se procesa es http://www.example.com/search.php?q=test.

Ahora, si trato de pasar un parámetro GET aleatorio adicional a mi URL reescrita, el parámetro se ignora. Entonces, si trato de hacer una visita aquí:

http://www.example.com/search/whatever?extra=true

El parámetro extrase ignora. Parece que no se pasa en absoluto.

¿Se puede solucionar este problema? ¿Si es así, cómo?

Jake Wilson
fuente

Respuestas:

14

Está buscando la bandera de Qppend Suery Atring, por ejemplo

RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^search/(.*)$ search.php?q=$1 [QSA]

Consulte la mod_rewritedocumentación para obtener una descripción completa de los indicadores RewriteRule.

danlefree
fuente
¡Oh bien! Sabía que había algo así. Soy un .htaccessnovato
Jake Wilson, el
¿Hay alguna manera de agregar QSA a todas las reglas
Hakkikonu
Hola @danlefree. Sé que es una pregunta antigua, pero usando Wamp, cuando hago esto, todas mis hojas de estilo, scripts, etc. pierden referencia. ¿Cómo puedo resolver eso?
DannyGM