Redirecționați solicitările de site-uri pe baza browserului utilizat (Chrome, Firefox sau IE)


După cum am promis în articolul nostru anterior (Cum se efectuează redirecționarea internă cu mod_rewrite), în această postare vom explica cum să afișați conținutul unui site web personalizat folosind cererile de redirecționare Apache mod_rewrite pe baza criteriilor de browser ale utilizatorului.

În teorie, toate browserele moderne ar trebui să interpreteze conținutul în mod egal. Cu toate acestea, unii implementează cele mai recente funcții mai rapid decât alții. Pentru a avea un site web complet funcțional, care să nu se rupă atunci când este vizualizat folosind un anumit browser. Din păcate, acest lucru va necesita o redirecționare către un alt director sau pagină.

Lectură sugerată: 5 sfaturi pentru a crește performanța serverului dvs. web Apache

Următoarele reguli de rescriere vor redirecționa solicitările pentru tecmint.html către tecmint-chrome.html, tecmint-firefox.html sau tecmint -ie.html în funcție de browserul utilizat (Google Chrome, Mozilla Firefox sau Internet Explorer).

Pentru a face acest lucru, variabila de mediu HTTP_USER_AGENT este utilizată pentru a identifica browserul pe baza șirului user-agent. Aici introducem directiva RewriteCond, care ne permite să specificăm o condiție care trebuie îndeplinită pentru ca redirecționarea să aibă loc.

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]

Rețineți că pagina țintă tecmint.html nu trebuie neapărat să existe. În primul rând, să creăm tecmint-firefox.html, tecmint-chrome.html și tecmint-ie.html cu următorul conținut.

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>

vom vedea rezultatul navigării la tecmint.html folosind diferite browsere:

După cum puteți vedea, solicitările pentru tecmint.html au fost redirecționate corespunzător, în funcție de browserul utilizat.

În acest articol am discutat despre cum să faceți cereri de redirecționare bazate pe browserul utilizatorului. Pentru a încheia, vă recomand să aruncați o privire la foaia de cheat mod_rewrite și să marcați ghidul de redirecționare și remapare în documentele Apache pentru referințe viitoare.

Ca întotdeauna, nu ezitați să utilizați formularul de comentarii de mai jos dacă aveți întrebări sau feedback despre acest articol. Asteptam sa auzim de tine!