Я ищу общий (независимый от хоста) набор правил mod_rewrite для проверки HTTP_REFERER на ресурсах. Я придумал следующее, которое казалось интуитивно понятным, но, к сожалению, не работает:
RewriteCond %{HTTP_REFERER} !^https?://%{HTTP_HOST}/.*
# RewriteRule .* - [F] # <- or whatever
Очевидно, что вы не можете иметь переменную с обеих сторон сравнения. Итак, взломать:
RewriteCond %{HTTP_HOST}##%{HTTP_REFERER} !^([^#]*)##https?://\1/.*
Но это ужасно, и если вы не знаете точно, что происходит, это ужасно запутывает.
Есть ли лучший (более чистый) способ написания этих правил?