Главная » 2011 » Январь » 12 » Проверка версии браузера с помощью htaccess
09:28
Проверка версии браузера с помощью htaccess
Постановка задачи: 
Необходимо перенаправлять пользователей, которые используют устаревшие браузеры на специальную информационную страницу.

Решение: 
Такая задача возникает, если вы отказываетесь поддерживать старые версии браузеров и тратить на них время. Создаем html страницу, на которой выводим информацию, о том, что браузер пользователя устарел, и новую версию можно скачать перейдя по ссылке(ам).

Задачу можно решить с помощью javascript (пример реализации использует jquery), создаем javascript файл и подключаем его в главный шаблон сайта:

jQuery(document).ready(function(){
  if(jQuery.browser.msie && jQuery.browser.version < 7){
    location.href("update-browser.html");
  }
});


Тут проверка проводится для ИЕ6, но не составит труда дописать проверку для других браузеров.

В таком подходе есть негативная сторона - необходима поддержка javascript, небольшая задержка на его выполнение и дополнительный редирект на инфо-страницу. Для избежания всего этого можно осуществлять проверку на уровне Апача, в правилах htaccess.

Пример:

RewriteCond %{HTTP_USER_AGENT} MSIE ([56]).
RewriteRule !.(css|png|js|gif)$ update-browser.html [L]

С первой строкой все ясно: тут определяем версию ИЕ. Вторая строка заставляет редиректить пользователся на страницу с информацией во всех случаях, кроме тех когда загружаются картинки, стили и скрипты. Если не исключать такие файлы по маске - тогда никогда не подгрузится оформление страницы update-browser.html.

Для остальных браузеров похожие правила:

RewriteCond %{HTTP_USER_AGENT} Firefox/2.* # Firefox > 2
RewriteCond %{HTTP_USER_AGENT} Safari/[0-3] # Safari > 3
RewriteCond %{HTTP_USER_AGENT} Opera/[0-9] # Opera > 9
...
Просмотров: 1467 | Добавил: Sergey Saenko | Рейтинг: 0.0/0
Всего комментариев: 1
1 Sergiy Kamolov  
0
Полезная информация... спасибо!

Имя *:
Email *:
Код *: