Omdiriger nettstedsforespørsler basert på nettleseren som brukes (Chrome, Firefox eller IE)


Som lovet i vår forrige artikkel (Hvordan utføre intern omdirigering med mod_rewrite), vil vi i dette innlegget forklare hvordan du viser et tilpasset nettstedinnhold ved å bruke Apache mod_rewrite omdirigeringsforespørsler basert på brukerens nettleserkriterier.

I teorien bør alle moderne nettlesere tolke innhold likt. Noen implementerer imidlertid de nyeste funksjonene raskere enn andre. For å ha et fullt funksjonelt nettsted som ikke går i stykker når det vises med en bestemt nettleser. Dessverre vil dette kreve en omdirigering til en annen katalog eller side.

Foreslått lesing: 5 tips for å øke ytelsen til Apache-nettserveren din

Følgende omskrivingsregler vil omdirigere forespørsler for tecmint.html til tecmint-chrome.html, tecmint-firefox.html eller tecmint -ie.html avhengig av nettleseren som brukes (Google Chrome, Mozilla Firefox eller Internet Explorer).

For å gjøre dette, brukes miljøvariabelen HTTP_USER_AGENT til å identifisere nettleseren basert på brukeragentstrengen. Her introduserer vi RewriteCond-direktivet, som lar oss spesifisere en betingelse som må oppfylles for at omdirigeringen skal finne sted.

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]

Vær oppmerksom på at målsiden tecmint.html ikke nødvendigvis trenger å eksistere. La oss først lage tecmint-firefox.html, tecmint-chrome.html og tecmint-ie.html med følgende innhold.

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>

vi vil se resultatet av å surfe til tecmint.html med forskjellige nettlesere:

Som du kan se, ble forespørsler om tecmint.html omdirigert tilsvarende avhengig av nettleseren som ble brukt.

I denne artikkelen har vi diskutert hvordan du utfører omdirigeringsforespørsler basert på brukerens nettleser. For å avslutte, vil jeg på det sterkeste anbefale at du tar en titt på mod_rewrite-juksearket og bokmerker omdirigerings- og remapping-guiden i Apache-dokumentene for fremtidig referanse.

Som alltid, bruk gjerne kommentarskjemaet nedenfor hvis du har spørsmål eller tilbakemeldinger om denne artikkelen. Vi ser frem til å høre fra deg!