2016-02-14 5 views
1

Мы обслуживаем изображения с нашего www. и img1/2/3 подмодулей. Правило, которое мы успешно блокируем hotlinking из www. но не img1/2/3. Двухчастный вопрос: почему img1/2/3 не работает, когда работает www, и есть ли способ сэкономить это на одно правило?Остановка хотлинкинга из поддоменов

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain.org [NC] 
RewriteCond %{HTTP_REFERER} !^http(s)?://(img1\.)?domain.org [NC] 
RewriteCond %{HTTP_REFERER} !^http(s)?://(img2\.)?domain.org [NC] 
RewriteCond %{HTTP_REFERER} !^http(s)?://(img3\.)?domain.org [NC] 
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L] 

Большое спасибо.

ответ

1

В первых трех условиях необходимо использовать флаг OR или, в качестве альтернативы, свернуть три условия на один.

OR флаг:

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain\.org [NC,OR] 
RewriteCond %{HTTP_REFERER} !^http(s)?://(img1\.)?domain\.org [NC,OR] 
RewriteCond %{HTTP_REFERER} !^http(s)?://(img2\.)?domain\.org [NC,OR] 
RewriteCond %{HTTP_REFERER} !^http(s)?://(img3\.)?domain\.org [NC] 
RewriteRule .(jpg|jpeg|png|gif)$ - [NC,F,L] 

Collapse в одно условие

RewriteCond %{HTTP_REFERER} !^http(s)?://((www|img(1|2|3)\.)?domain\.org [NC] 
+1

Это разрушилась версия была именно то, что мне было нужно. Огромное спасибо. –

 Смежные вопросы

  • Нет связанных вопросов^_^