私はリソースに対するHTTP_REFERERチェックを行うための一般的な(ホストに依存しない)mod_rewriteルールのセットを探しています。私は直感的に見えた次のを思い付いた、残念ながら動作しません:一般的なmod_rewriteリファラーチェック
RewriteCond %{HTTP_REFERER} !^https?://%{HTTP_HOST}/.*
# RewriteRule .* - [F] # <- or whatever
どうやらあなたは比較の両側に変数を持つことができません。だから、ハック:
RewriteCond %{HTTP_HOST}##%{HTTP_REFERER} !^([^#]*)##https?://\1/.*
でもすごいが、それは醜いだ - そしてあなたが起こっているの内容を正確に把握していない場合、それはひどく混乱します。
これらのルールを書く方が良い(クリーナー)方法はありますか?
は、rewriteCondを使用するとかなり複雑に思えます。おそらくmod_macroは、ホストに依存しないルールの問題を考えるもう一つの方法でしょう。 – regilero