Назад | Перейти на главную страницу

Предотвращение горячих ссылок Apache не работает

Я безуспешно пытался предотвратить хотлинкинг изображений в моем домене. Я добавил следующее в /etc/apache2/httpd.conf

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !www.example.com [NC]
RewriteRule \.(jpg|jpeg|png|gif) - [F,NC,L]

Это самый простой пример, который я пробовал (это прямо с сайта Apache http://httpd.apache.org/docs/current/rewrite/access.html)

Я также попытался добавить курсор перед URL-адресом, добавив косую черту перед точками URL-адреса, чтобы избежать их, сделав часть www необязательной, добавив https? перед URL-адресом и не использовать пустую строку реферера. Все безуспешно.

Следует ли размещать правила в другом месте (например, в файле VirtualHosts)?

Виртуальные хосты не наследуют автоматически перезаписывающие команды, определенные в контексте главного сервера. Если вы хотите наследовать правила, вам необходимо добавить это в каждый контекст виртуального хоста, который вы хотите использовать правила, определенные в контексте сервера:

RewriteOptions Inherit