如果不存在图像,则显示默认图像

And*_*rew 2 apache mod-rewrite centos

我在Centos 5上运行Apache,我想实现重写规则.当用户尝试访问文件夹中/var/site.com/html/image/products/的图像时,规则应该检查图像是否存在,如果不存在,我想要/var/site.com/html/image/defaultimage.jpg显示

我试着将它放在.htaccess中, /var/site.com/html/image/products/但它没有用

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} \.(gif|jpg|jpeg|png)$ 
RewriteRule .* /var/site.com/html/image/defaultimage.jpg [L]
Run Code Online (Sandbox Code Playgroud)

Jon*_*Lin 5

a的目标(第二个参数)RewriteRule可以是文件路径或URI路径,而apache会尝试猜测你的意思.出于某种原因,如果它以a开头/,则倾向于认为它是URI路径.尝试从目标中删除文档根目录:

RewriteRule .* /image/defaultimage.jpg [L]
Run Code Online (Sandbox Code Playgroud)