Otras trampas:
1- A veces es una buena idea desactivar MultiViews
Options -MultiViews
No estoy bien versado en todas las capacidades de MultiViews, pero sé que arruina mis reglas mod_rewrite cuando está activo, porque una de sus propiedades es intentar 'adivinar' una extensión de un archivo que cree que estoy buscando .
Lo explicaré: suponga que tiene 2 archivos php en su directorio web, file1.php y file2.php y agrega estas condiciones y reglas a su .htaccess:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ file1.php/$1
Asume que todas las URL que no coinciden con un archivo o directorio serán capturadas por file1.php. ¡Sorpresa! Esta regla no se cumple para la URL http: // myhost / file2 / somepath . En su lugar, lo llevan dentro de file2.php.
Lo que está sucediendo es que MultiViews adivinó automáticamente que la URL que realmente deseaba era http: //myhost/file2.php/somepath y con mucho gusto lo llevó allí.
Ahora, no tienes ni idea de lo que acaba de pasar y estás en ese punto cuestionando todo lo que creías saber sobre mod_rewrite. Luego comienzas a jugar con las reglas para tratar de entender la lógica detrás de esta nueva situación, pero cuanto más pruebas, menos sentido tiene.
Bien, en resumen, si desea que mod_rewrite funcione de una manera que se aproxime a la lógica, apagar MultiViews es un paso en la dirección correcta.
2- habilitar FollowSymlinks
Options +FollowSymLinks
Ese, realmente no conozco los detalles, pero lo he visto mencionado muchas veces, así que hazlo.