Problemas con htaccess

El otro día tenía problemas con el WordPress: me cargaba el archivo functions.php varias veces. Después de muchas pruebas ( y la ayuda de los compañeros) descubrí que el problema estaba en el htaccess :

A primera vista, presenta un aspecto inofensivo:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Si la petición no hace referencia a un fichero o un directorio que exista (ojo el detalle) la redirige a index.php. La utilizo para implementar url amigables.

El problema viene cuando se intenta carga una imagen  ( u otro archivo) que ya no existe: al no encontrarla, la petición se redirige a index.php (que devolverá error ), después de cargar todo el wp.

Si llamamos dos imagenes inexistentes , cargaremos otras tantas veces todo el  wp … de locos.

Para solucionarlo basta añadir una regla más:

RewriteCond %{REQUEST_URI} \.(gif|png|jpeg|gzip|wav|wma|wri|zip)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . /404.html [R=404,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

Si la petición hace referencia a archivos con extensión gif,png,…(todas las que quieras) y este no existe lazará un mensaje 404 de error