¿El indicador mod_rewrite [L] no funciona como se esperaba?

¿El indicador mod_rewrite [L] no funciona como se esperaba?

Pensé que el indicador [L] indicaba que "esta regla debería ser la última regla procesada para esta solicitud http".

Sin embargo, cuando tengo 2 reglas como:

RewriteRule ^test$ php/test.php [L]
RewriteRule (.*) error.php

Lo que siempre sucede son solicitudes dehttp://localhost/pruebair a error.php,noa test.php como esperaba, ya que puse la [L] allí. Si comenta la segunda regla allí, entonces solicitahttp://localhost/pruebavaya a test.php como se esperaba.

Lo que realmente intento hacer es detectar errores 404 con mod_rewrite. Es posible que lo que estoy intentando hacer esté simplemente mal. Pero todavía quiero saber por qué la regla general está activa ya queHicepon una [L] después de la ^testregla.

Veo un listado grande enaquídonde el administrador del servidor enumera un montón de rutas que comienzan con los directorios reconocidos, pero quería evitar hacer esto simplemente usando una buena regla general.

Respuesta1

Si una regla da como resultado una redirección del cliente, volverá a ingresar a la lista de reglas desde la parte superior cuando el cliente realice la solicitud redirigida.

información relacionada