我正在使用以下.htaccess
代码阻止一些垃圾邮件引荐来源:
RewriteCond %{HTTP_REFERER} \.ru$ [NC,OR]
RewriteCond %{HTTP_REFERER} \.ru/ [NC,OR]
RewriteCond %{HTTP_REFERER} \.ua$ [NC,OR]
RewriteCond %{HTTP_REFERER} \.ua/ [NC,OR]
RewriteCond %{HTTP_REFERER} hol\.es [NC,OR]
RewriteCond %{HTTP_REFERER} hys\.cz [NC,OR]
A few more similar lines
RewriteCond %{HTTP_REFERER} slinqs\.com [NC]
RewriteRule ^(.*)$ - [F,L]
如您所见,我已使用该代码阻止了.ru
所有域。.ua
现在的问题是我想允许特定.ua
域向我的网站发送流量。
我怎样才能将那个.ua
域列入白名单?
可能吗?
为了允许
allowed-domain.com
您可以执行以下操作:!
前缀否定正则表达式,没有标志OR
它是隐式 AND。因此,上面指出,如果 HTTP_REFERER 不包含allowed-domain.ua
并且确实包含.ru
or.ua
等,则返回 403 Forbidden。使用
L
标志时不需要F
标志(这是隐含的)。此外,您不需要捕获子模式(即。(.*)
) - 因为您没有使用它。请注意,这与(使用交替)相同:
所以这与: