Preusmerite zahteve za spletno mesto na podlagi uporabljenega brskalnika (Chrome, Firefox ali IE)


Kot smo obljubili v prejšnjem članku (Kako izvesti notranjo preusmeritev z mod_rewrite), bomo v tem prispevku razložili, kako prikazati vsebino spletnega mesta po meri z uporabo zahtev za preusmeritev Apache mod_rewrite na podlagi uporabnikovih meril brskalnika.

V teoriji bi morali vsi sodobni brskalniki vsebino razlagati enako. Vendar nekateri uvajajo najnovejše funkcije hitreje kot drugi. Da bi imeli popolnoma funkcionalno spletno mesto, ki se ob ogledu z določenim brskalnikom ne pokvari. Na žalost bo to zahtevalo preusmeritev v drug imenik ali stran.

Naslednja pravila prepisovanja bodo zahteve za tecmint.html preusmerila na tecmint-chrome.html, tecmint-firefox.html ali tecmint-ie.html, odvisno od uporabljenega brskalnika (Google Chrome, Mozilla Firefox ali Internet Explorer).

V ta namen se spremenljivka okolja HTTP_USER_AGENT uporablja za prepoznavanje brskalnika na podlagi niza uporabniškega agenta. Tu uvajamo direktivo RewriteCond , ki nam omogoča, da določimo pogoj, ki mora biti izpolnjen za preusmeritev.

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]

Upoštevajte, da ciljna stran tecmint.html ni nujno, da obstaja. Najprej ustvarimo tecmint-firefox.html, tecmint-chrome.html in tecmint-ie.html z naslednjo vsebino.

<!DOCTYPE html>
<html>
  <head>
	<meta charset="utf-8">
	<title></title>
  </head>
  <body>
	<h3>Welcome to Tecmint on Firefox!</h3>
  </body>
</html>
<!DOCTYPE html>
<html>
  <head>
	<meta charset="utf-8">
	<title></title>
  </head>
  <body>
	<h3>Welcome to Tecmint on Chrome!</h3>
  </body>
</html>
<!DOCTYPE html>
<html>
  <head>
	<meta charset="utf-8">
	<title></title>
  </head>
  <body>
	<h3>Welcome to Tecmint on Internet Explorer!</h3>
  </body>
</html>

videli bomo rezultat brskanja po tecmint.html z uporabo različnih brskalnikov:

Kot lahko vidite, so bile zahteve za tecmint.html ustrezno preusmerjene, odvisno od uporabljenega brskalnika.

V tem članku smo razpravljali o tem, kako narediti zahteve za preusmeritev na podlagi uporabnikovega brskalnika. Za zaključek toplo priporočam, da si ogledate vodnik za ponovno preslikavo v Apachejevih dokumentih za nadaljnjo uporabo.

Kot vedno, če imate kakršna koli vprašanja ali povratne informacije o tem članku, uporabite spodnji obrazec za komentar. Veselimo se vaših odzivov!