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

时间:2012-07-25 06:06:16

标签: apache mod-rewrite centos

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

我试图把它放在位于/var/site.com/html/image/products/的.htaccess中,但它不起作用

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

1 个答案:

答案 0 :(得分:5)

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

RewriteRule .* /image/defaultimage.jpg [L]