0

Я использую Apache httpd. Я включил модуль apache rewrite. Мне нужно заблокировать несколько URL-адресов (спамер ссылок). У меня есть разрешение на редактирование файла httpd.conf. Правильно ли синтаксис блокировать несколько URL-адресов?Apache httpd блокирует URL-адреса спама?

<Directory /var/www/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride None 
    Order allow,deny 
    allow from all 

    RewriteEngine on 
    RewriteCond %{HTTP_REFERER} example.com [NC] 
    RewriteCond %{HTTP_REFERER} sample.com [NC] 
    RewriteCond %{HTTP_REFERER} somexxx.com [NC] 
    RewriteRule .* - [F] 

</Directory> 

ответ

0

Я не эксперт, но я думаю, что:

  • . в RewriteCond нужно экранировать
  • вам нужно OR флаги на всех, но окончательное RewriteCond
  • флаг L на RewriteRule помогает достижению
  • если вы используете группу захвата, будет также блокировать субдомены

Так что, я думаю, что вы хотите что-то вроде этого:

<Directory /var/www/> 
    Options Indexes FollowSymLinks MultiViews 
    AllowOverride None 
    Order allow,deny 
    allow from all 

    RewriteEngine on 
    RewriteCond %{HTTP_REFERER} (example\.com) [NC,OR] 
    RewriteCond %{HTTP_REFERER} (sample\.com) [NC,OR] 
    RewriteCond %{HTTP_REFERER} (somexxx\.com) [NC] 
    RewriteRule .* - [F,L] 

</Directory>