การใช้ htaccess ใน PHP Engine
เพื่อที่จะสร้าง engine ของเว็บไซต์ สิ่งแรกที่ต้องทำคือทำให้การร้องขอ URL ใดๆ ของเว็บไซต์ถูกประมวลผลด้วยไฟล์ PHP ไฟล์เดียว
สิ่งนี้ทำได้ด้วยไฟล์พิเศษชื่อ .htaccess มาสร้างไฟล์นี้และเปิดใช้งานมันด้วยการเขียนบรรทัดต่อไปนี้ที่ส่วนต้นของไฟล์:
RewriteEngine On
RewriteBase /
หลังจากนั้น เราสามารถระบุได้ว่าไฟล์ไหนควรจะประมวลผล URL ที่ถูกร้องขอ สิ่งนี้ทำได้ด้วยคำสั่ง RewriteRule
มาดูการทำงานของคำสั่งนี้ในทางปฏิบัติกัน ตัวอย่างเช่น ลองทำให้ที่อยู่ /test ถูกประมวลผลโดยไฟล์ index.php:
RewriteRule /test index.php
พารามิเตอร์แรกของคำสั่ง RewriteRule จริงๆ แล้วรับนิพจน์ปกติ (regular expression) มาลองใช้มันเพื่อทำให้ URL ทั้งหมดถูกประมวลผลโดยไฟล์ index.php:
RewriteRule .+ index.php
อย่างไรก็ตาม ที่อยู่บางส่วนไม่ควรถูกเปลี่ยนเส้นทาง นั่นคือที่อยู่ที่นำไปยังไฟล์ทรัพยากร: เช่น CSS, JavaScript, รูปภาพ และอื่นๆ
ยกเลิกการเปลี่ยนเส้นทางของพวกมันด้วยคำสั่ง RewriteCond:
RewriteCond %{REQUEST_URI} !\.(js|css|ico|jpg|png)$
RewriteRule .+ index.php
บนหน้า index.php เราสามารถได้รับ URL ที่ถูกร้องขอผ่านอาร์เรย์ซูเปอร์โกลบอล $_SERVER:
<?php
$url = $_SERVER['REQUEST_URI'];
?>
สร้างไฟล์ .htaccess ใช้มันเพื่อดำเนินการเปลี่ยนเส้นทางคำขอทั้งหมดไปยัง index.php
แสดง URL ที่ถูกร้องขอบน index.php