¿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?

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.


¡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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.