如果請求的圖片不存在,我想顯示no_picture.png。我應該用.htaccess來做。非常感謝。如果圖片不存在,則通過.htaccess顯示no_picture.png
11
A
回答
24
RewriteEngine On
RewriteCond %{REQUEST_URI} \.(jpg|jpeg|gif|png|ico)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*$ /no_picture.png [L]
讓我們分解一下每條線的含義。看到
RewriteCond %{REQUEST_URI} \.(jpg|jpeg|gif|png|ico)$ [NC]
檢查所請求的文件是在括號()
文件擴展名的。在這種情況下,我們正在測試,看看文件名在任一.jpg
,.jpeg
,.gif
,.png
或.ico
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
檢查結束,該文件不存在,它也沒有目錄。
RewriteRule .*$ /no_picture.png [L]
如果請求的資源/文件通過了所有這些測試,那麼它是不存在的圖像。因此,請將no_picture.png
的圖像發回給瀏覽器。這將保留文件名。如果你想重定向到no_picture.png
名,更改[L]
到[R]
1
RewriteCond %{REQUEST_URI} pic/(.*)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule pic/(.*) pic/no_picture.png [L,E=STATUS:404]
1
在你的/ images /目錄下,添加到您的.htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule no_picture.png [L]
,說,如果請求的文件不存在,改寫它no_picture.png
4
這也應該工作:
<FilesMatch "\.(jpg|jpeg|png|gif)$">
ErrorDocument 404 "/no_picture.png"
</FilesMatch>
相關問題
- 1. 如果特色圖片存在或不存在,則顯示不同的post-typ
- 2. 如果原始圖片不存在,請顯示默認圖片
- 3. .htaccess如果文件存在,則重定向,否則通過
- 4. 如果不存在,則檢測閃存並顯示圖像
- 5. 通過GoDaddy主機,不顯示圖片
- 6. 如果未上傳圖片,則無法顯示默認圖片
- 7. JS如果圖像存在,顯示它。否則,顯示文本
- 8. 如果圖像文件不存在,則顯示另一個
- 9. 如果用戶照片不存在,然後顯示通用圖像
- 10. 如果前面沒有前綴http://,則圖片不會顯示
- 11. 如果存在,則顯示'查看圍欄'按鈕,但如果不存在則顯示'無圍欄'按鈕
- 12. 顯示通過Django的圖片保存在MySQL數據庫
- 13. 如果存在行,則顯示'存在',如果其他方式顯示'丟失'
- 14. 如何通過點擊圖片來顯示圖片的名稱?
- 15. 如果行存在或不存在,則顯示布爾
- 16. 如何顯示通過htaccess的
- 17. 如果圖像src不存在,則顯示圖像而不是Alt文本
- 18. 通過jquery循環顯示圖片
- 19. 如果僅設置大圖標,則通知不會顯示
- 20. 如果顯示響應通知,則不會顯示查看,但不會顯示
- 21. htaccess如果不存在
- 22. .htaccess文件沒有顯示圖片
- 23. 在htaccess中顯示結果
- 24. 如果PHP參數證明爲真,則顯示圖片
- 25. 圖片不顯示在JavaFx
- 26. 圖片不顯示在php
- 27. 圖片不顯示在iCarousel
- 28. 如何在網頁上顯示圖片?如果圖片存在...其他使用「默認圖片」?
- 29. PHP:如果圖像存在顯示圖像其他顯示不同的圖像
- 30. 圖片不顯示
不就是包括不存在HTML或其他文件類型? – random
是的,它會爲任何事情。這就是爲什麼我提到它是針對特定圖像目錄的原因。它可以被修改爲僅匹配某些文件擴展名(如其他答案所做的那樣)。 –