Перенаправление запросов веб-сайта в зависимости от используемого браузера (Chrome, Firefox или IE)
Как и было обещано в нашей предыдущей статье (Как выполнить внутреннее перенаправление с помощью mod_rewrite), в этом посте мы объясним, как отображать настраиваемое содержимое веб-сайта с помощью запросов на перенаправление Apache mod_rewrite на основе критериев браузера пользователя.
Теоретически все современные браузеры должны интерпретировать контент одинаково. Однако некоторые реализуют новейшие функции быстрее, чем другие. Чтобы иметь полнофункциональный веб-сайт, который не ломается при просмотре в определенном браузере. К сожалению, для этого потребуется перенаправление в другой каталог или страницу.
Рекомендуется к прочтению: 5 советов по повышению производительности вашего веб-сервера Apache
Следующие правила перезаписи перенаправят запросы для tecmint.html на tecmint-chrome.html, tecmint-firefox.html или tecmint. -ie.html в зависимости от используемого браузера (Google Chrome, Mozilla Firefox или Internet Explorer).
Для этого переменная среды HTTP_USER_AGENT
используется для идентификации браузера на основе строки пользовательского агента. Здесь мы представляем директиву RewriteCond
, которая позволяет нам указать условие, которое должно быть выполнено для того, чтобы перенаправление имело место.
RewriteCond "%{HTTP_USER_AGENT}" ".*Firefox.*"
RewriteRule "^/tecmint\.html$" "/tecmint-firefox.html" [R,L]
RewriteCond "%{HTTP_USER_AGENT}" ".*Chrome.*"
RewriteRule "^/tecmint\.html$" "/tecmint-chrome.html" [R,L]
RewriteCond "%{HTTP_USER_AGENT}" ".*Trident.*"
RewriteRule "^/tecmint\.html$" "/tecmint-ie.html" [R,L]
Обратите внимание, что целевая страница tecmint.html не обязательно должна существовать. Прежде всего давайте создадим tecmint-firefox.html, tecmint-chrome.html и tecmint-ie.html со следующим содержимым.
tecmint-firefox.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h3>Welcome to Tecmint on Firefox!</h3>
</body>
</html>
tecmint-chrome.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h3>Welcome to Tecmint on Chrome!</h3>
</body>
</html>
tecmint-ie.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h3>Welcome to Tecmint on Internet Explorer!</h3>
</body>
</html>
мы увидим результат просмотра tecmint.html с помощью разных браузеров:
Как видите, запросы к tecmint.html перенаправлялись соответствующим образом в зависимости от используемого браузера.
В этой статье мы обсудили, как выполнять запросы на перенаправление на основе браузера пользователя. В заключение я настоятельно рекомендую вам взглянуть на шпаргалку mod_rewrite и добавить в закладки руководство по перенаправлению и переназначению в документации Apache для дальнейшего использования.
Как всегда, не стесняйтесь использовать форму комментариев ниже, если у вас есть какие-либо вопросы или отзывы об этой статье. Мы с нетерпением ждем вашего ответа!