我想允许访问特定域。例如,如果域包含单词asdf,则应允许访问。我在询问前的最后一次尝试是:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^.*asdf.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} !^.*1234.*$
#RewriteRule .* - [F]
所以在这里我尝试限制对包含asdf或1234的所有域的访问。
答案 0 :(得分:0)
您需要使用%{HTTP_HOST}
来检查网址中的域名,而不是%{HTTP_REFERER}
。
你可以尝试这段代码:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^.*(asdf|1234)\. [NC]
RewriteRule .* - [F]
答案 1 :(得分:0)
Anubhava给了我一个线索,但不是http_host。最后问题是OR。 现在,以下工作就像一个魅力:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^.*(1234|asdf).* [NC]
RewriteRule .* - [F]
所以HTTP_REFERER做了它应该做的事情(检查域访问)。而且|作为我需要的论点或论据。