Peradresuoti svetainės užklausas pagal naudojamą naršyklę („Chrome“, „Firefox“ arba IE)


Kaip buvo žadėta ankstesniame straipsnyje (Kaip atlikti vidinį peradresavimą naudojant mod_rewrite), šiame įraše paaiškinsime, kaip rodyti tinkintą svetainės turinį naudojant „Apache“ mod_rewrite peradresavimo užklausas pagal vartotojo naršyklės kriterijus.

Teoriškai visos šiuolaikinės naršyklės turinį turėtų interpretuoti vienodai. Tačiau kai kurie naujausias funkcijas įdiegia greičiau nei kiti. Tam, kad būtų pilnai veikianti svetainė, kuri nesugenda, kai žiūrima naudojant tam tikrą naršyklę. Deja, tam reikės peradresuoti į kitą katalogą arba puslapį.

Siūlomas skaitymas: 5 patarimai, kaip padidinti „Apache“ žiniatinklio serverio našumą

Šios perrašymo taisyklės peradresuos tecmint.html užklausas į tecmint-chrome.html, tecmint-firefox.html arba tecmint -ie.html, priklausomai nuo naudojamos naršyklės („Google Chrome“, „Mozilla Firefox“ arba „Internet Explorer“).

Norėdami tai padaryti, aplinkos kintamasis HTTP_USER_AGENT naudojamas naršyklei identifikuoti pagal vartotojo agento eilutę. Čia pristatome direktyvą RewriteCond, kuri leidžia nurodyti sąlygą, kurios turi būti įvykdytos, kad peradresavimas įvyktų.

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]

Atminkite, kad tikslinis puslapis tecmint.html nebūtinai turi egzistuoti. Pirmiausia sukurkime tecmint-firefox.html, tecmint-chrome.html ir tecmint-ie.html su tokiu turiniu.

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>

matysime naršymo į tecmint.html, naudojant skirtingas naršykles, rezultatus:

Kaip matote, užklausos dėl tecmint.html buvo atitinkamai peradresuotos, atsižvelgiant į naudojamą naršyklę.

Šiame straipsnyje aptarėme, kaip atlikti peradresavimo užklausas pagal vartotojo naršyklę. Baigiant labai rekomenduoju pažvelgti į mod_rewrite apgaulės lapą ir pažymėti peradresavimo ir pertvarkymo vadovą Apache dokumentuose, kad galėtumėte pasinaudoti ateityje.

Kaip visada, nedvejodami naudokite toliau pateiktą komentarų formą, jei turite klausimų ar atsiliepimų apie šį straipsnį. Lauksime jūsų žinučių!