Tengo un conjunto de reglas de reescritura (en un .htaccess) algo como esto:no pueden igualar% 2F en mod_rewrite
RewriteRule ^list/vendor/(.*)$ list.php?vendor=$1
RewriteRule ^list/product/(.*)$ list.php?product=$1
RewriteRule ^list/(.*)$ list.php?search=$1
(no creo que los dos primeros son relevantes a mi pregunta, sin embargo) .
cuando escribo en myserver.com/list/foo%2Cbar
o incluso myserver.com/list/foo/bar
, consigo los resultados que cabe esperar: list.php se llama con foo,bar
y foo/bar
en $_GET['search']
.
Pero si escribo myserver.com/list/foo%2Fbar
, ¡parece que la regla no coincide! Me da un error 404 en su lugar. ¿Qué puede estar pasando aquí? Apache 2.2.14, si es importante.
(Intenté en Firefox y Chrome, los mismos resultados, pero podría ser el navegador que funciona, por supuesto).
¿Podría ser que Apache ni siquiera mire en mi archivo .htaccess en este caso? Eso sería un error, supongo ... – LHMathies
El registro de errores contiene (en el nivel de información): 'found% 2f (codificado '/') en URI ... devolviendo 404' – cweiske