如果请求的图片不存在,我想返回默认(404)图像。我设置了命名约定,以便我可以拉出相同图像的不同大小(由我的应用程序预先生成)。
foo-200.png
foo-50.png
foo-10.png
etc..
短划线( - )后面的数字是所请求图像的大小。同样,一旦我上传图像,系统将自动生成不同的尺寸。
但是,如果请求的图像不存在(例如bar-200.png
),我想返回一张与所请求的图像大小相同的404图像。
bar-200.png (404)-> notfound-200.png
bar-50.png (404)-> notfound-50.png
bar-10.png (404)-> notfound-10.png
etc...
以下是我目前在htaccess中所拥有的内容:
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteRule \.(gif|jpe?g|png|bmp) notfound.png [NC,L]
但无论请求的大小如何,这只会返回一个404大小的图像。
任何帮助?
答案 0 :(得分:1)
通过httpd.conf
启用mod_rewrite和.htaccess,然后将此代码放在.htaccess
目录下的DOCUMENT_ROOT
中:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (?!^notfound-)^[^-]+-([0-9]+)\.(?:gif|jpe?g|png|bmp)$ notfound-$1.png [L,NC,NE]