Показать полную графическую версию : 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
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} "MSIE 5"
RewriteCond %{HTTP_USER_AGENT} MSIE\ ([56])\.
RewriteCond %{HTTP_USER_AGENT} MSIE\ [^7]
RewriteCond %{HTTP_USER_AGENT} ^.*(MSIE\ [1-6]).*$
RewriteCond %{HTTP:USER_AGENT (MSIE/[56])
RewriteCond %{HTTP_USER_AGENT} (MSIE\ [1-6])
RewriteCond %{HTTP_USER_AGENT} "MSIE [56]"
RewriteRule .* ban.html
Кто может помочь с решением помогите пожалуйста!
Спасибо.
№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
AddDefaultCharset utf-8
DefaultLanguage ru-RU
AddLanguage ru .ru
AddLanguage en .en
AddLanguage de .de
AddCharset UTF-8 .html .htm .txt .sh .shtml .php .php3
<IfModule mod_charset.c>
CharsetDisable on
CharsetPriority UTF-8 windows-1251 koi8-r ISO-8859-5 ibm866
CharsetDefault utf-8
CharsetSourceEnc utf-8
AddDefaultCharset utf-8
</IfModule>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_USER_AGENT} MSIE\ ([56])\.
RewriteRule .* ban.html [L]
Firefox + User Agent Switcher (https://addons.mozilla.org/ru/firefox/addon/59) для тестирования. Все должно работать.
Спасибо 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" могут быть проблемы... или у меня что-то настройками не так?
Проблема не в самом браузере, а в заголовке User-Agent, который ваш браузер шлет. Если правило срабатывает, то значит заголовок содержит строку 'MSIE 6'.
P.S. Для User Agent Switcher можно отсюда (http://pastebin.com/f384c8a34) скачать (http://pastebin.com/pastebin.php?dl=f384c8a34) полный список строк для разных браузеров и систем.
Ок. С виртуальными понятно дело - много чего может запутанно.
Но почему стандартный, нормальный IE8 в заголовке отсылает еще и
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ;
?
имхо заголовок отсылается системный (из реестра), т.е. того браузера, который встроен в систему Windows, а это может быть только одна версия браузера IE.
Вывод такой: при установке IE8 поверх IE6 (или наоборот) в реестре оказалось значение IE6. Наверное, можно исправить (найти нужный ключ поиском по реестру).
Вывод такой: при установке IE8 поверх IE6 (или наоборот) в реестре оказалось значение IE6. Наверное, можно исправить (найти нужный ключ поиском по реестру). »
Получается пользователь установивший таким способом новый ослик попадет в бан :/ !?
Никтож спецом не будет править реестр...
blacks2,
скорей всего получается. Но банить по User-Agent, по-моему изначально неправильная идея.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.