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!