2009-10-09 21 views
11

que tienen la siguiente URL:regla de reescritura de Apache con parámetros?

http://domain.com/index.php?m=feedback&cSubject=My Subject 

Quiero tener una regla de reescritura de manera que la siguiente:

http://domain.com/feedback?Subject=My Subject 

mapas a la URL anterior. Aquí está mi regla en este momento:

RewriteRule ^feedback?Subject=(.*)$ index.php?m=feedback&cSubject=$1 

¡Parece que no funciona! ¿Algunas ideas?

Respuesta

14

Query Strings no son analizadas por Apache Mod_Rewrite, pero hay una solución. Prueba este

RewriteRule ^feedback/?$ index.php?m=feedback&c%{QUERY_STRING} [NC,L] 
+1

¡Funcionó muy bien, gracias! – James

+1

Eso es lo que me faltaba para mis consultas dinámicas de búsqueda. Gracias, Clops! –

+0

¿cómo te desharías del '?' Necesario al final? no funciona si solo lo elimino – user151496

5

Puede utilizar la instrucción RewriteCond para hacer exactamente lo que quiere:

RewriteEngine On 

RewriteCond %{QUERY_STRING} Subject=(.*) 
RewriteRule ^feedback$ index.php?m=feedback&cSubject=%1 [L] 
0

Parece que hay una falta de clops = respuesta que dar ..

RewriteRule ^feedback/?$ index.php?m=feedback&c=%{QUERY_STRING} [NC,L] 

. Al menos necesito uno para que funcione.

Cuestiones relacionadas