Htaccess перенаправляет на пользовательский адрес вместо отображения сообщения об ошибке "запрещено"

У меня есть папка с изображениями в корневом каталоге, и мне нужно запретить доступ к этим изображениям по URL-адресу.

У меня в этой папке есть .htaccess

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

Это работает отлично, и если попытаться получить доступ к изображению через URL-адрес, появится ошибка.

Forbidden

You don't have permission to access ..

Но вместо этого я хочу перенаправить на свою страницу с пользовательской ошибкой (в моем случае это контроллер /error).

Каков правильный синтаксис .htaccess для этого?

0
0
254
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

указать

   ErrorDocument 403 /error

после строки RewriteEngine on

так будет так:

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

Должно получиться примерно так:

ErrorDocument 403 /errors/forbid.html

Взгляните на эту ссылку http://www.javascriptkit.com/howto/htaccess2.shtml

Не уверен, что это сработает с маршрутом, может, нужно указать документ. Хотя я бы попробовал.

Другие вопросы по теме