我想允許訪問特定的域。例如,如果域包含asdf這個詞,它應該允許訪問。我問前的最後嘗試是:.htaccess允許url包含單詞
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^.*asdf.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} !^.*1234.*$
#RewriteRule .* - [F]
所以我在這裏試圖限制對所有但包含ASDF或1234
我想允許訪問特定的域。例如,如果域包含asdf這個詞,它應該允許訪問。我問前的最後嘗試是:.htaccess允許url包含單詞
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^.*asdf.*$ [NC,OR]
RewriteCond %{HTTP_REFERER} !^.*1234.*$
#RewriteRule .* - [F]
所以我在這裏試圖限制對所有但包含ASDF或1234
Anubhava給了我一個線索,但不與HTTP_HOST。最後問題是OR。 現在下面工作就像一個魅力:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^.*(1234|asdf).* [NC]
RewriteRule .* - [F]
那麼HTTP_REFERER做了它應該做的(檢查域訪問)。和|作爲我需要的論據。
您需要使用%{HTTP_HOST}
用於檢查URL,而不是%{HTTP_REFERER}
域的域。
你可以試試這個代碼:
RewriteEngine on
RewriteCond %{HTTP_HOST} !^.*(asdf|1234)\. [NC]
RewriteRule .* - [F]
讓所有人都可以訪問 – Alexk
事實並非如此,它會阻止任何沒有'asdf'或'1234'作爲域的URL。你真的嘗試了什麼網址?還要在你的問題中發佈你最新的.htaccess。 – anubhava
感謝您爲實際給我提供線索的努力或問題,並解決了問題,我發佈了答案。順便說一句,正如我所說的,當我的.htaccess正是你所說的允許訪問每個人。 – Alexk