Preusmjeravanje zahtjeva za web mjesto na temelju korištenog preglednika (Chrome, Firefox ili IE)


Kao što smo obećali u našem prethodnom članku (Kako izvršiti interno preusmjeravanje s mod_rewrite), u ovom ćemo postu objasniti kako prikazati prilagođeni sadržaj web stranice koristeći Apache mod_rewrite zahtjeve za preusmjeravanje na temelju kriterija korisničkog preglednika.

U teoriji, svi moderni preglednici trebali bi jednako tumačiti sadržaj. Međutim, neki implementiraju najnovije značajke brže od drugih. Kako bismo imali potpuno funkcionalnu web stranicu koja se ne kvari kada se pregledava pomoću određenog preglednika. Nažalost, ovo će zahtijevati preusmjeravanje na drugi direktorij ili stranicu.

Predloženo za čitanje: 5 savjeta za poboljšanje performansi vašeg Apache web poslužitelja

Sljedeća pravila prepisivanja preusmjerit će zahtjeve za tecmint.html na tecmint-chrome.html, tecmint-firefox.html ili tecmint -ie.html ovisno o pregledniku koji se koristi (Google Chrome, Mozilla Firefox ili Internet Explorer).

Da biste to učinili, varijabla okoline HTTP_USER_AGENT koristi se za identifikaciju preglednika na temelju niza korisničkog agenta. Ovdje predstavljamo direktivu RewriteCond, koja nam omogućuje da navedemo uvjet koji mora biti ispunjen kako bi se preusmjeravanje izvršilo.

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, kreirajmo 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 tecmint.html korištenjem različitih preglednika:

Kao što vidite, zahtjevi za tecmint.html su preusmjereni u skladu s korištenim preglednikom.

U ovom smo članku raspravljali o tome kako napraviti zahtjeve za preusmjeravanje na temelju preglednika korisnika. Za kraj, 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 upotrijebite obrazac za komentare u nastavku ako imate pitanja ili povratnih informacija o ovom članku. Radujemo se vašem odgovoru!