Preusmjeravanje zahtjeva za web stranicu na osnovu korištenog pretraživača (Chrome, Firefox ili IE)


Kao što je obećano u našem prethodnom članku (Kako izvršiti interno preusmjeravanje pomoću mod_rewrite), u ovom postu ćemo objasniti kako prikazati prilagođeni sadržaj web stranice koristeći Apache mod_rewrite zahtjeve za preusmjeravanje na osnovu kriterija pretraživača korisnika.

U teoriji, svi moderni pretraživači bi trebali podjednako tumačiti sadržaj. Međutim, neki implementiraju najnovije funkcije brže od drugih. Kako bi imali potpuno funkcionalnu web stranicu koja se ne kvari kada se gleda pomoću određenog pretraživača. Nažalost, ovo će zahtijevati preusmjeravanje na drugi direktorij ili stranicu.

Preporučeno čitanje: 5 savjeta za poboljšanje performansi vašeg Apache web servera

Sljedeća pravila ponovnog pisanja će preusmjeriti zahtjeve za tecmint.html na tecmint-chrome.html, tecmint-firefox.html ili tecmint -ie.htmlu zavisnosti od pretraživača koji se koristi (Google Chrome, Mozilla Firefox ili Internet Explorer).

Da biste to učinili, varijabla okruženja HTTP_USER_AGENT se koristi za identifikaciju pretraživača na osnovu niza korisničkog agenta. Ovdje uvodimo RewriteCond direktivu, koja nam omogućava da specificiramo uslov koji mora biti ispunjen da bi se preusmjeravanje dogodilo.

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]

Imajte na umu da ciljna stranica tecmint.html ne mora nužno postojati. Prvo, napravimo tecmint-firefox.html, tecmint-chrome.html i tecmint-ie.html sa sljedećim sadržajem.

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>

vidjet ćemo rezultat pregledavanja na tecmint.html koristeći različite preglednike:

Kao što vidite, zahtjevi za tecmint.html su preusmjereni u skladu s tim u zavisnosti od korištenog pretraživača.

U ovom članku smo raspravljali o tome kako napraviti zahtjeve za preusmjeravanje na osnovu korisničkog pretraživača. Da zaključimo, toplo bih vam preporučio da pogledate mod_rewrite cheat sheet i označite vodič za preusmjeravanje i ponovno mapiranje u Apache dokumentima za buduću upotrebu.

Kao i uvijek, slobodno koristite formular za komentare u nastavku ako imate pitanja ili povratne informacije o ovom članku. Radujemo se Vašem odgovoru!