ค้นหาเว็บไซต์

คำขอเปลี่ยนเส้นทางเว็บไซต์ตามเบราว์เซอร์ที่ใช้ (Chrome, Firefox หรือ IE)


ตามที่สัญญาไว้ในบทความก่อนหน้าของเรา (วิธีการเปลี่ยนเส้นทางภายในด้วย mod_rewrite) ในโพสต์นี้ เราจะอธิบายวิธีแสดงเนื้อหาเว็บไซต์ที่กำหนดเองโดยใช้คำขอเปลี่ยนเส้นทาง Apache mod_rewrite ตามเกณฑ์เบราว์เซอร์ของผู้ใช้

ตามทฤษฎีแล้ว เบราว์เซอร์สมัยใหม่ทั้งหมดควรตีความเนื้อหาอย่างเท่าเทียมกัน อย่างไรก็ตาม บางคนใช้คุณสมบัติใหม่ล่าสุดได้เร็วกว่าคุณสมบัติอื่นๆ เพื่อให้มีเว็บไซต์ที่มีฟังก์ชันการใช้งานครบครันไม่พังเมื่อเปิดดูโดยใช้เบราว์เซอร์บางตัว ขออภัย การดำเนินการนี้จะต้องมีการเปลี่ยนเส้นทางไปยังไดเร็กทอรีหรือหน้าอื่น

การอ่านที่แนะนำ: 5 เคล็ดลับในการเพิ่มประสิทธิภาพของเว็บเซิร์ฟเวอร์ Apache ของคุณ

กฎการเขียนใหม่ต่อไปนี้จะเปลี่ยนเส้นทางคำขอสำหรับ tecmint.html ไปยัง tecmint-chrome.html, tecmint-firefox.html หรือ tecmint -ie.html ขึ้นอยู่กับเบราว์เซอร์ที่ใช้งาน (Google Chrome, Mozilla Firefox หรือ Internet Explorer)

ในการดำเนินการดังกล่าว ตัวแปรสภาพแวดล้อม HTTP_USER_AGENT จะถูกนำมาใช้เพื่อระบุเบราว์เซอร์ตามสตริงตัวแทนผู้ใช้ ที่นี่เราขอแนะนำคำสั่ง RewriteCond ซึ่งช่วยให้เราสามารถระบุเงื่อนไขที่ต้องปฏิบัติตามเพื่อให้การเปลี่ยนเส้นทางเกิดขึ้น

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]

โปรดทราบว่าหน้าเป้าหมาย tecmint.html ไม่จำเป็นต้องมีอยู่ ก่อนอื่น มาสร้าง tecmint-firefox.html, tecmint-chrome.html และ tecmint-ie.html ด้วยเนื้อหาต่อไปนี้

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>

เราจะเห็นผลของการเรียกดู tecmint.html โดยใช้เบราว์เซอร์ที่แตกต่างกัน:

อย่างที่คุณเห็น คำขอสำหรับ tecmint.html ถูกเปลี่ยนเส้นทางตามนั้น โดยขึ้นอยู่กับเบราว์เซอร์ที่ใช้

ในบทความนี้ เราได้กล่าวถึงวิธีการขอเปลี่ยนเส้นทางตามเบราว์เซอร์ของผู้ใช้ เพื่อสรุป ฉันขอแนะนำให้คุณดู mod_rewrite cheat sheet และบุ๊กมาร์กคำแนะนำการเปลี่ยนเส้นทางและการแมปใหม่ในเอกสาร Apache เพื่อใช้อ้างอิงในอนาคต

และเช่นเคย โปรดใช้แบบฟอร์มความคิดเห็นด้านล่างหากคุณมีคำถามหรือข้อเสนอแนะเกี่ยวกับบทความนี้ เราหวังว่าจะได้ยินจากคุณ!