Постановка задачи:
Необходимо перенаправлять пользователей, которые используют устаревшие браузеры на специальную информационную страницу.
Решение:
Такая задача возникает, если вы отказываетесь поддерживать старые версии браузеров и тратить на них время. Создаем 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
...
Полезная информация... спасибо!
ОтветитьУдалить