.htaccess: Как мне заблокировать рефереры, КРОМЕ для определенных директорий? - PullRequest
0 голосов
/ 26 января 2012

Я хочу заблокировать все доступы к веб-сайту из домена1 и домена2, если они не указаны специально для / и /media. Пока у меня есть:

RewriteCond %{HTTP_REFERER} domain1\.com [NC,OR]
RewriteCond %{HTTP_REFERER} domain2\.com [NC]
RewriteRule .* - [F]

Это работает отлично, за исключением того, что оно блокирует все запросы. Я хочу, чтобы входящие ссылки с этих двух доменов могли иметь доступ только к / и /media . До сих пор я не смог понять это.

Любая помощь очень ценится.

Ответы [ 2 ]

2 голосов
/ 26 января 2012

Что-то вроде этого:

RewriteCond %{HTTP_REFERER} domain1\.com [NC,OR]
RewriteCond %{HTTP_REFERER} domain2\.com [NC]
RewriteCond %{REQUEST_URI} !media [NC,OR]
RewriteCond %{REQUEST_URI} !^$ [NC]
RewriteRule (.*)$ $1 [R,L]
RewriteRule .* - [F]

Проверен синтаксис: http://www.lyxx.com/freestuff/002.html

0 голосов
/ 27 января 2012

Как насчет:

RewriteCond %{HTTP_REFERER} (:/|\.)(domain1|domain2)\.com [NC]
RewriteRule ^([^/]*$|media/)       -                      [skip=1] 

RewriteCond %{HTTP_REFERER} (:/|\.)(domain1|domain2)\.com [NC]
RewriteRule .*                     -                      [F]

Внешние перенаправления не требуются.Я предполагаю, что вы также позволите *.domain1.com и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...