我正在尋找一個mod_rewrite規則的通用(主機無關)集合,用於在資源上執行HTTP_REFERER檢查。我想出了以下看起來很直觀,但可悲的是不起作用:通用mod_rewrite引用檢查
RewriteCond %{HTTP_REFERER} !^https?://%{HTTP_HOST}/.*
# RewriteRule .* - [F] # <- or whatever
顯然你不能在比較的兩邊都有一個變量。所以,一個黑客:
RewriteCond %{HTTP_HOST}##%{HTTP_REFERER} !^([^#]*)##https?://\1/.*
但哇,這是醜陋的 - 如果你不知道到底發生了什麼,這是非常令人困惑。
是否有更好的(更乾淨)的方式來編寫這些規則?
用rewriteCond做這件事似乎相當複雜。也許mod_macro是另一種思考獨立於主機的規則問題的方法。 – regilero