2016-04-09 17 views
2

Saf istemci tabanlı bir web uygulamasında, bazen bulunmayan bir arka plan resmi göstermem gerekir. Belirli bir URL kalıbı 404 hatası döndürdüğünde bir resme hizmet vermek için Apache'yi 'zorlama' yolu var mı? Bir 404 döndürebilirApache belirli bir URL kalıbı altında bir 404 hatası olduğunda varsayılan bir görüntü gösterir

URL modeli geçerli:

http://host/assets/user-images/default.jpg

NOT: Zaten

Ben

http://host/assets/user-images/xxxxx.jpg

nereden görüntüyü hizmet etmek istiyorum bir .htaccess kullanın

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule^index.php [QSA,L] 

cevap

2

RewriteCond %{REQUEST_URI} ^/assets/user-images/(.*)\.jpg$ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ default.jpg 

ilk RewriteCond'ın gelen istek/aktifler altında jpg dosyası için olup olmadığını kontrol edecektir "/assets/user-images/.htaccess" dosyasında aşağıdaki Add/kullanıcı- Görüntüler/veya değil ve -f seçeneği ile ikinci RewriteCond istenen dosyanın var olup olmadığını kontrol eder. Varsa, RewriteRule varsayılan görüntüyü sunacaktır. Son kullanıcı orijinal görüntünün URL'sini görmeye devam eder, ancak varsayılan görüntü sunulur. Orijinal görüntü dosyası mevcutsa, bu kural yürütülmeyecektir.

+0

Evet, beklendiği gibi çalışıyor. Slim'in 'notFoundHandler'ı kullanarak bitirmeme rağmen, verdiğinize gerçekten sağlam bir çözüm. –