Cita:
Iniciado por AbdelioR Vale, ya me funciona, pero si un parametro esta vacio, en la url se mostrará "url//parametro2", dejando el "//" vacio, no? es correcto eso?
Y otra cosa, si tengo 3 parametros:
Rewriterule ^resultados/([^\/]*)\/([^\/]*)\/pg([^\/]*)$ busquedaRapida.php?search=$1&rapido=$2&page=$3
Puedo hacer que si solo especifico los dos primeros, me funcione igual? lo digo por que el tercero es la pagina de paginación de resultados, y he visto sitios que a la primera pagina puedes acceder mediante "/pagina1" o sin poner nada. Como se puede hacer esto?
Vale, me alegro que te funcione.
Si un parametro está vacio y no es obligatorio (has puesto '*' en lugar de '+' en la expresión regular) pues sí, en la url no irá y por tanto llevar los separadores seguidos (en tu caso '//').
Ahora bien, no tienes por que limitarte a emplear una expresión regular únicamente. Puedes poner tantas como necesites.
Por ejemplo si prefieres que el parámetro de página no vaya puedes usar dos expresiones regulares: la primera sin parámetro de página (enviandole un valor por defecto al PHP) y la segunda con él. Ah y para que cuando una expresión regular cumple y no quieres que siga analizando otras, le pones [L] al final de la línea. Ejemplo:
Rewriterule ^resultados\/([^\/]+)\/([^\/]+)$ busquedaRapida.php?search=$1&rapido=$2&page=1 [L]
Rewriterule ^resultados\/([^\/]+)\/([^\/]+)\/pg([^\/]*)$ busquedaRapida.php?search=$1&rapido=$2&page=$3 [L]