![]() |
mod_rewrite: правило для браузеров IE 5/6
Здравствуйте.
Есть задача: Нужно через htaccess /modrewrite забанить только IE5 и IE6 (арт проект) Вчера перелопатил кучу сайтов. Перепробовал много вариантов. Но ничего толкового не получалось. Тестил на IE7 и IE6. Обычно банился только IE7 / оба / никто Тесты были на 1. IEtester + denver 2. http://browsershots.org 3. http://spoon.net/browsers/ (Виртальн машину поставить пока возможности нет) Вот что пробовал (каждая строчка есть испробованный в-т) Код:
Options +FollowSymLinks Спасибо. |
№2 оставьте (можно без скобок), только добавьте флаг [L] к правилу, иначе может получиться бесконечный цикл.
|
Спасибо Sham Sham, попробовал еще раз указанный вами варинат
1. IEtester 2. http://spoon.net/browsers - при тесте забанен оба браузера 3. http://browsershots.org/ - забанен только ie6 Где же правда? + при тесте с рабочей машины в IE8 сайт был забанен :( - странно ведь в директивах htaccess нет ничего про 8ку Sham Sham есть ли у вас возможность проверить работу модреврайта на ie 5 6 7 8 ? Весия htaccess которую использовал Код:
DirectoryIndex index.html |
Firefox + User Agent Switcher для тестирования. Все должно работать.
|
Спасибо Sham!
User Agent Switcher - для IE6 бан как и нужно IE7 и IE8 без бана :) Но! - почему тогда IE8 установленный на чистую XP отсылается мод реврайтом на бан страницу? :angry2: Попробовал сервис для проверки заголовков-ответов с сайта http://web-sniffer.net/ - там с бан/не бан работает хорошо (правда для проверки IE8 нет) завтра займусь проверкой юзерагента на моем IE8 |
Протестил какие "обманщики" отдают какой заголовок:
Использовал сервис http://www.useragentstring.com/ от "реальных" установленных IE на XP IE8 - Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; IE6 - Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; User Agent Switcher IE8 - Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1) IE7 - Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0) IE6 - Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) IEtester IE8 - Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; IE7 - Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; IE6 - Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; spoon.net IE8 - Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; IE7 - Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; IE6 - Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; http://browsershots.org/ - Для ответа нужно писать скрипт. Но к сожалению пока на это нет времени. Да и в PHP не силен. Теперь понятно почему у меня банились сразу несколько версий хотя в htaccess предположительно было все правильно. Sham, люди добрые подскажите как быть? - получается с "баном через htaccess" могут быть проблемы... или у меня что-то настройками не так? |
|
Ок. С виртуальными понятно дело - много чего может запутанно.
Но почему стандартный, нормальный IE8 в заголовке отсылает еще и Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ;? |
имхо заголовок отсылается системный (из реестра), т.е. того браузера, который встроен в систему Windows, а это может быть только одна версия браузера IE.
Вывод такой: при установке IE8 поверх IE6 (или наоборот) в реестре оказалось значение IE6. Наверное, можно исправить (найти нужный ключ поиском по реестру). |
Цитата:
Никтож спецом не будет править реестр... |
blacks2,
скорей всего получается. Но банить по User-Agent, по-моему изначально неправильная идея. |
Время: 15:22. |
Время: 15:22.
© OSzone.net 2001-