การสร้าง Dynamic Sub Domain ตอนที่ 2
การเขียนโค้ดให้ 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 นั้นๆ