1

如果请求的图像不存在,我想返回默认 (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 的图像。

有什么帮助吗?

4

1 回答 1

2

通过启用 mod_rewrite 和 .htaccess httpd.conf,然后将此代码放在您.htaccessDOCUMENT_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]
于 2013-08-22T22:24:40.847 回答