REFERER может браузером и не передаваться. Т.е. так просто можно отрезать слишком много.
Также, так смогут зайти не только из поисковых систем, так что отрезано может быть и слишком мало.
Ну и это не htaccess, а сайт может быть и не на php, и может быть не понятно, где такое можно вставить, даже если он и на php. =)
Борис Сёмов, доработайте :) готовое решение на фрилансе :) я лиш написал один из путей развития :) не php хорошо в другом яп тоже чтото подобное есть :) можно копать уже :)
Борис Сёмов, по ссылке есть такой вариант
Если нужно запретить доступ напрямую со всех хостов, кроме определенных, набор правил будет выглядеть примерно так:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(www.)?htaccess\.ru(/)?
RewriteCond %{HTTP_REFERER} !^http://(.*)\.htaccess\.ru(/)?
RewriteRule .*\.(gif|jpg|jpeg|png)$ – [F]
Можно это применить в моем случае? Мне нужно разрешить заходы только с яндекса и гугла
anface В принципе, да, это как-то так можно сделать, но стоит не забывать и о том, что если referer пуст, то это не означает прямой заход, как я выше писал. Также, вам придётся писать куда более сложные условия с регулярками для определения всех доменов нужных вам поисковиков (а для яндекса и гугла будет более одного домена для каждого, даже если просто учесть языки + поддомены и.т.п.). А потом поддерживать в актуальном состоянии, если набор доменов будет меняться.
Ну и сам реврайт, вероятно, вам нужен будет какой-то другой.
Т.е. за счёт всех этих тонкостей, всё это уже не совсем и просто, даже для пары определённых поисковиков, не находите? =)