Vyhledávání na webu

Přesměrování požadavků webových stránek na základě použitého prohlížeče (Chrome, Firefox nebo IE)


Jak jsme slíbili v našem předchozím článku (Jak provést interní přesměrování pomocí mod_rewrite), v tomto příspěvku vysvětlíme, jak zobrazit vlastní obsah webových stránek pomocí požadavků na přesměrování Apache mod_rewrite na základě kritérií prohlížeče uživatele.

Teoreticky by všechny moderní prohlížeče měly interpretovat obsah stejně. Některé však implementují nejnovější funkce rychleji než jiné. Abychom měli plně funkční web, který se nerozbije při prohlížení v určitém prohlížeči. Bohužel to bude vyžadovat přesměrování do jiného adresáře nebo stránky.

Doporučená četba: 5 tipů, jak zvýšit výkon vašeho webového serveru Apache

Následující pravidla přepisu přesměrují požadavky pro tecmint.html na tecmint-chrome.html, tecmint-firefox.html nebo tecmint -ie.htmlv závislosti na používaném prohlížeči (Google Chrome, Mozilla Firefox nebo Internet Explorer).

K tomu slouží proměnná prostředí HTTP_USER_AGENT k identifikaci prohlížeče na základě řetězce user-agent. Zde zavádíme direktivu RewriteCond, která nám umožňuje specifikovat podmínku, která musí být splněna, aby k přesměrování došlo.

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]

Upozorňujeme, že cílová stránka tecmint.html nemusí nutně existovat. Nejprve vytvořte tecmint-firefox.html, tecmint-chrome.html a tecmint-ie.html s následujícím obsahem.

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>

uvidíme výsledek procházení stránky tecmint.html pomocí různých prohlížečů:

Jak vidíte, požadavky na tecmint.html byly přesměrovány podle použitého prohlížeče.

V tomto článku jsme diskutovali o tom, jak provádět požadavky na přesměrování na základě prohlížeče uživatele. Na závěr bych vám vřele doporučil podívat se na cheat sheet mod_rewrite a uložit si do záložek průvodce přesměrováním a přemapováním v dokumentaci Apache pro budoucí použití.

Jako vždy, pokud máte nějaké dotazy nebo zpětnou vazbu k tomuto článku, použijte níže uvedený formulář pro komentáře. Těšíme se na setkání s Vámi!