การ Redirect เว็บไปยังเว็บสำหรับมือถือโดยอัตโนมัติ ด้วย .htacces

เราสามารถเขียน .htaccess เพื่อตรวจสอบว่า Browser ที่เรียกมาเป็นอะไรได้ เช่น การตรวจสอบว่า เป็นการเรียกดูเว็บผ่านมือถือหรือไม่ด้วย User Agant ซึ่งหากตรวจสอบพบว่า User Agant ที่เรียกมาเป็นอุปกรณ์มือถือ ก็ให้ทำการ redirect ไปยัง ไซต์ที่ออกแบบมาสำหรับมือถือแทน เช่น หากเรียกเว็บที่ URL https://www.goragod.com ด้วย มือถือ ก็จะทำการเปลี่ยนเส้นทางไปเรียกเว็บที่ http://m.goragod.com แทน
RewriteEngine On

# ป้องกันการวนลูป
RewriteCond %{HTTP_HOST} !^m.goragod.com$

# นามสกุลของไฟล์สำหรับ mobile device
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC,OR]

# ตรวจสอบ User Agent
RewriteCond %{HTTP_USER_AGENT} "sony|symbian|nokia|samsung|mobile|windows ce|epoc|opera" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "mini|nitro|j2me|midp-|cldc-|netfront|mot|up\.browser|up\.link|audiovox"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "blackberry|ericsson,|panasonic|philips|sanyo|sharp|sie-"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "portalmmm|blazer|avantgo|danger|palm|series60|palmsource|pocketpc"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "smartphone|rover|ipaq|au-mic,|alcatel|ericy|vodafone\/|wap1\.|wap2\.|iPhone|android"[NC]
\
# redirec ไปยัง m.goragod.com
RewriteRule ^(.+)\$ http://m.goragod.com/ [R=302,NC]

สิ่งที่ควรระวังนะครับ เนื่องจากการใช้งานอุปกรณ์มือถือมีค่อนข้างหลากหลาย Browser ซึ่งแต่ละยี่ห้ออาจมีการทำงานที่ต่างกัน รวมถึงยังมีขนาดหน้าจอที่แตกต่างกันไปอีก ดังนั้นการเลือกเฉพาะ User Agent ที่เหมาะสมก็เป็นสิ่งจำเป็น โดยให้เลือกเฉพาะที่เว็บที่เราออกแบบแสดงผลได้ก็เพียงพอครับ
ผู้เขียน goragod โพสต์เมื่อ 24 เม.ย. 2555 เปิดดู 9,430 ป้ายกำกับ .htaccess
^