htaccess重定向到自定义地址,而不显示“禁止访问”错误消息

时间:2018-09-10 06:25:46

标签: php apache .htaccess

我在根目录中有包含图像的文件夹,我需要拒绝从URL访问该图像。

我在此文件夹中有.htaccess

RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^http(s?)://(www\.)?localhost.*$ [NC] 
RewriteRule \.(gif|jpg|jpeg|png)$ - [F]

这很完美,如果尝试通过URL访问图像,则会显示错误

  

禁止

     

您无权访问..

但是我想改为重定向到我的自定义错误页面(在我的情况下为/error控制器)。

正确的.htaccess语法是什么?

2 个答案:

答案 0 :(得分:1)

指定

   ErrorDocument 403 /error

RewriteEngine on行之后

所以会是这样:

RewriteEngine on 
ErrorDocument 403 /error
RewriteCond %{HTTP_REFERER} !^http(s?)://(www\.)?localhost.*$ [NC] 
RewriteRule \.(gif|jpg|jpeg|png)$ - [F]

答案 1 :(得分:1)

应该是这样的:

ErrorDocument 403 /errors/forbid.html

查看此链接http://www.javascriptkit.com/howto/htaccess2.shtml

我不确定它是否适用于路线,也许您必须指定一个文档。 我会尝试的。