.htaccess重定向到403错误

时间:2011-12-15 12:08:52

标签: security apache .htaccess

我有一个水印照片的网站(您可能已经从之前的q& a中了解到)。我使用的orignal照片使用此代码使用.htaccess进行保护:

RewriteEngine On
RewriteCond %{REQUEST_URI} !error.gif$
RewriteRule \.(gif|jpg|png)$ /error.gif [L]

当用户尝试访问该文件时,它会出现ERROR 404,这很好,但有没有办法让它重定向到ERROR 403? (error.gif存在并且是1x1白色像素。)

我知道.htaccess使用它来访问403错误:

ErrorDocument 403 /error-docs/403.shtml 

我在该区域创建了此文件,并将上述行添加到一起,但它仍然重定向到ERROR 404?

我对htaccess的教​​育不是很好,所以对此的任何帮助都将受到高度赞赏。

完整代码:

RewriteEngine On
RewriteCond %{REQUEST_URI} !error.gif$
RewriteRule \.(gif|jpg|png)$ /error.gif [L]
ErrorDocument 403 /error-docs/403.shtml

谢谢,

大卫

1 个答案:

答案 0 :(得分:3)

要返回403,请在F所在的括号中添加L

RewriteRule \.(gif|jpg|png)$ - [L,F]

您可以将/error.gif替换为停止网址重写的-,因为您有一个单独的文档可以为403提供服务​​,因此error.gif不会执行任何操作。这也意味着你也可以摆脱RewriteCond。