Uudelleenohjaa verkkosivustopyynnöt käytetyn selaimen perusteella (Chrome, Firefox tai IE)


Kuten aiemmassa artikkelissamme (Sisäisen uudelleenohjauksen suorittaminen mod_rewrite-toiminnolla) luvattiin, tässä viestissä selitämme, kuinka mukautettu verkkosivuston sisältö voidaan näyttää Apachen mod_rewrite-uudelleenohjauspyynnöillä käyttäjän selainehtojen perusteella.

Teoriassa kaikkien nykyaikaisten selainten tulisi tulkita sisältöä samalla tavalla. Jotkut ottavat kuitenkin uusimmat ominaisuudet käyttöön nopeammin kuin toiset. Jotta olisi täysin toimiva verkkosivusto, joka ei hajoa, kun sitä tarkastellaan tietyllä selaimella. Valitettavasti tämä vaatii uudelleenohjauksen toiselle hakemistolle tai sivulle.

Suositeltu luku: 5 vinkkiä Apache-verkkopalvelimesi suorituskyvyn parantamiseen

Seuraavat uudelleenkirjoitussäännöt ohjaavat tecmint.html-pyynnöt osoitteeseen tecmint-chrome.html, tecmint-firefox.html tai tecmint -ie.html riippuen käytetystä selaimesta (Google Chrome, Mozilla Firefox tai Internet Explorer).

Tätä varten HTTP_USER_AGENT-ympäristömuuttujaa käytetään tunnistamaan selain user-agent-merkkijonon perusteella. Tässä esittelemme RewriteCond-direktiivin, jonka avulla voimme määrittää ehdon, jonka on täytyttävä, jotta uudelleenohjaus voidaan suorittaa.

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]

Huomaa, että kohdesivun tecmint.html ei välttämättä tarvitse olla olemassa. Luodaan ensin tecmint-firefox.html, tecmint-chrome.html ja tecmint-ie.html seuraavalla sisällöllä.

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>

näemme tuloksen, kun selaat sivua tecmint.html eri selaimilla:

Kuten näet, tecmint.html-pyynnöt ohjattiin uudelleen vastaavasti käytetyn selaimen mukaan.

Tässä artikkelissa olemme keskustelleet siitä, kuinka uudelleenohjauspyyntöjä tehdään käyttäjän selaimen perusteella. Lopuksi suosittelen, että katsot mod_rewrite-huijauslehteä ja lisäät kirjanmerkkeihin Apache-dokumenttien uudelleenohjaus- ja uudelleenkartoitusoppaan tulevaa käyttöä varten.

Kuten aina, voit käyttää alla olevaa kommenttilomaketta, jos sinulla on kysyttävää tai palautetta tästä artikkelista. Me odotamme yhteydenottoasi!