2010-06-10 14 views
5

Rails uygulamasındaki tüm resim öğeleri, /public/images sürümünde yaşıyor ve sunucuda varsa Apache tarafından sunulmaktadır. Eğer eksik bir görüntü için bir istek yapılırsa, Apache bunu sunamaz ki bu da daha sonra bir 404'ü yükselten Rails'e geçecektir.Eksik imaj varlıklarını ele almak için Apache'yi nasıl yapılandırabilirim?

İdeal olarak, eksik bir görüntünün Apache düzeyinde ele alınması talebinde bulunmak istiyorum Rails'e iletilmek yerine. Bunu en iyi nasıl başarabilirim?

cevap

2

Dizin ve dosya yoksa, 404 sayfasına mod_rewrite ile yönlendirme.

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

Burada -f, mevcut bir dosya adıyla eşleşir ve -d varolan bir dizin adıyla eşleşir. Bu, istenen dosya adının 404 sayfasına (veya istediğiniz her şeye) yönlendirmeden önce mevcut bir dosya adı veya dizin adı olmadığını kontrol edecektir.

+0

"virtual" Rails rotalarının dosya içermeyeceği için bu işlem başarısız olur. Neyi kaçırıyorum? – tokland

İlgili konular