2010-06-10 12 views
5

Todos los elementos de imagen en mi aplicación Rails viven en /public/images y Apache los atiende si existen en el servidor. Si se realiza una solicitud de una imagen faltante, Apache no puede servirla para pasarla a Rails, lo que aumenta posteriormente un 404.¿Cómo configuro Apache para que maneje los elementos de imagen faltantes?

Lo ideal sería que cualquier solicitud de una imagen faltante se manejara en el nivel Apache , en lugar de ser enviado a Rails. ¿Cómo puedo lograr esto?

Respuesta

2

Redireccionando con mod_rewrite a una página 404 si el directorio y el archivo no existen.

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .? /404.html [L] 

Aquí, f coincide con un nombre de archivo existente y -d coincide con un nombre de directorio existente. Esto verificará que el nombre de archivo solicitado no sea un nombre de archivo o directorio existente antes de redirigirlo a la página 404 (o lo que quiera).

+0

"virtuales" Las rutas de los raíles no tendrán archivos, por lo que esto debería fallar. ¿Qué me estoy perdiendo? – tokland

Cuestiones relacionadas