Ваша идея замечательная, но логика ошибочна, основываясь на реальном бот-поведении.
Я занимаюсь вопросами безопасности на сайтах все время & Строки агента пользователя поддельные все время. Если у вас есть возможность установить его, я бы рекомендовал использовать такой инструмент, как Mod Security. Это, в основном, брандмауэр модуля Apache, который использует настраиваемые наборы правил, чтобы отрицать неправильные шаблоны поведения доступа. Но, честно говоря, если у вас возникли проблемы с .htaccess
такими вещами, как Мод Безопасность может быть слишком интенсивной, чтобы ее понять.
Лучший такт - это просто предотвратить горячую связь через mod_rewrite tricks like this.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?mydomain.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.mydomain.com/angryman.gif [R,L]
Затем, прочитав свой вопрос, я не уверен на 100%, чего вы хотите достичь? Может быть, mod_rewrite
такие вещи могут дать вам подсказки о том, как подойти к проблеме? Удачи!
Что скажет вам, что что-то не так? Полезно привести примеры того, что вы ожидали, и то, что вы получили. – Floris
Что случилось? Условия должны провалиться, если это правда. Какие ценности вы получаете и чего вы ожидаете? – vol7ron
Последовательный RewriteCond должен быть объединен вместе, если нет явного флага OR (http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond). Кажется, это не происходит? – Jackson