Перенаправить определенные запросы, если реферер не с той же страницы? - PullRequest
0 голосов
/ 31 января 2010

Я совершенно уверен, что об этом уже спрашивали, но я не могу ничего на свете найти.

У моего клиента есть несколько страниц, которые мы сегодня закрыли для публики. Поскольку URL-адреса изображений, связанные с этими страницами, все еще действительны (страницы должны оставаться видимыми внутри для технического обслуживания), страница, очевидно, все еще полностью видна из кэша Google, что по понятным причинам раздражает моего клиента.

Я хотел бы исправить это, используя директиву mod_rewrite, 403 или 404 которой отправляют любые запросы в этот каталог изображений, у которых нет REFERER, начинающегося с домена этого сайта (то есть с горячими ссылками на страницы в кэше ).

Обновление: это работает для меня!

RewriteCond %{REQUEST_URI} ^/imagedir
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.com [NC]
RewriteRule .*  - [F,L]

1 Ответ

0 голосов
/ 31 января 2010

Заголовок HTTP_REFERER часто отфильтровывается программами безопасности и прокси-серверами, поскольку рассматривается как проблема конфиденциальности. Прежде чем продолжить, изучите журналы и посмотрите процент запросов, для которых установлен HTTP_REFERER, и выполните анализ влияния, прежде чем продолжить.

Вы можете изменить поведение Google, используя robots.txt, а также использовать контроль кэша. Вероятно, пройдет некоторое время, прежде чем он выйдет из индекса. Используйте это в следующий раз, когда у вас будет «кампания», чтобы проблема, с которой вы столкнулись, больше не повторялась: -)

http://www.robotstxt.org/


Ответ находится на родственном сайте stackoverflow:

https://serverfault.com/questions/71020/modrewrite-how-do-i-check-the-httpreferers-querystring

...