Проблема, с которой я столкнулся, заключается в том, как предотвратить хотлинкинг на веб-сайте. Что я хочу сделать, так это заблокировать www.website.com/user/xxx возможность горячей ссылки на CSS, но разрешить www.website.com/user/aaa использовать CSS с помощью .htaccess.
-Как пользователь xxx, так и пользователь aaa используют файл css www.mywebsite.com/css.css, я хочу только разрешить пользователю aaa использовать его, а не пользователю xxx
Что мне удалось придумать, так это разместить .htaccess на сайте www.mywebsite.com, чтобы позволить пользователю aaa выполнять горячую ссылку на css.
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.website.com/user/aaa [NC]
RewriteRule \.(css|jpg|jpeg|png|gif)$ http://website.com/donotsteal [NC,R]
Когда я помещаю это в .htaccess, он блокирует как www.website.com/user/xxx, так и www.website.com/user/aaa хотлинкинг css
Что я хочу сделать, так это разрешить только этой странице www.website.com/user/aaa использовать CSS и заблокировать что-либо еще от горячей ссылки.
Флаги [L] и / или [F] отсутствуют в вашем RewriteRule. http://altlab.com/htaccess_tutorial.html Я не уверен, будет ли это иметь значение?
! в * RewriteCond% {HTTP_REFERER} ^ или RewriteCond% {HTTP_REFERER}! ^ \ меняет логическое условие на обратное.
Так
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/
RewriteRule .*\.(jpe?g|gif|bmp|png)$ http://img148.imageshack.us/img148/237/hotlinkp.gif [L]
Говорит, если это "!" НЕ тогда mysite "[L]" НЕ разрешите это, что является двойным отрицанием, чтобы разрешить, если с вашего сайта.
Исправление [L] - это флаг ПОСЛЕДНЕГО - [F] запрещено, и мне нужно проверить мои очки.