การสร้าง Dynamic Sub Domain ตอนที่ 2
หลังจากที่เรา Setup DNS แล้ว เมื่อเราทำการเรียกเพจใดๆ มันจะวิ่งไปหาเพจ ที่ root ของ Server ทั้งหมด เช่น http://www.localhost.com, http://chat.localhost.com ก็จะวิ่งไปอ่านเพจที่เรียกบนไดเร็คทอรี่เดียวกันเสมอ ทำให้เราสามารถทำการดักและแยกเอา sub domain ออกมาตามต้องการได้
การเขียนโค้ดให้ PHP รู้จักและแยกแยะ Sub domain แต่ละตัวได้โดยอัตโนมัติ มีวิธีหลักๆ อยู่ 2 วิธีครับคือการใช้ .htaccess และการเขียนโค้ดเพื่อแยก sub domain ด้วย PHP
เรามาดูแบบง่ายๆกันก่อนการเขียนโค้ดแยกด้วย PHP ธรรมดา ไม่ต้องมีเทคนิคพิเศษอะไร
วิธีการก็คือการอ่าน sub domain จาก ตัวแปร $_SERVER['HTTP_HOST'] ที่ส่งมา แล้วทำการแยกเอาส่วนที่เป็น Sub domain ออกมาแล้วไปทำการเรียกเพจตาม path ของ sub domain นั้นๆ
การเขียนโค้ดให้ PHP รู้จักและแยกแยะ Sub domain แต่ละตัวได้โดยอัตโนมัติ มีวิธีหลักๆ อยู่ 2 วิธีครับคือการใช้ .htaccess และการเขียนโค้ดเพื่อแยก sub domain ด้วย PHP
เรามาดูแบบง่ายๆกันก่อนการเขียนโค้ดแยกด้วย PHP ธรรมดา ไม่ต้องมีเทคนิคพิเศษอะไร
<?php
// แยกเอาชื่อ subdomain ออกมา
$subdomain = preg_replace( '/(.*?)[\.]?localhost\.com/isu' , '' , $_SERVER['HTTP_HOST'] );
// ถ้าไม่ได้กำหนด subdomain มาให้เป็น www
// เช่น http://localhost.com
$subdomain = ( $subdomain == '' ) ? 'www' : $subdomain;
//แสดงผล subdomain ที่เรียก
echo "subdomain=$subdomain";
// เรียกไปยังไดเร็คทอรี่ชื่อ subdomain
// เช่น www ให้เรียกใช้ไฟล์ www/index.php
include( "$subdomain/index.php" );
วิธีการก็คือการอ่าน sub domain จาก ตัวแปร $_SERVER['HTTP_HOST'] ที่ส่งมา แล้วทำการแยกเอาส่วนที่เป็น Sub domain ออกมาแล้วไปทำการเรียกเพจตาม path ของ sub domain นั้นๆ