2010-06-10 12 views
5

Tutte le risorse immagine nella mia applicazione Rails vivono in /public/images e sono fornite da Apache se esistono sul server. Se viene effettuata una richiesta per un'immagine mancante, Apache non può servirlo in modo che venga inoltrata a Rails che successivamente solleva un 404.Come configurare Apache per gestire gli asset immagine mancanti?

Idealmente vorrei che qualsiasi richiesta per un'immagine mancante venisse gestita a livello Apache , piuttosto che essere inoltrato a Rails. Quanto meglio posso ottenere questo?

risposta

2

Reindirizzamento con mod_rewrite a una pagina 404 se la directory e il file non esistono.

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

Qui, -f corrisponde a un nome file esistente e -d corrisponde a un nome di directory esistente. Ciò verificherà che il nome file richiesto non sia un nome file o directory esistente prima di reindirizzare alla pagina 404 (o qualsiasi altra cosa tu voglia).

+0

I percorsi Rails "virtuali" non avranno file, quindi questo dovrebbe fallire. Cosa mi manca? – tokland

Problemi correlati