ในการแนะนำนี้ ผมได้ใช้ Appserv เวอร์ชั่น 2.5.9 เป็นพระเอก นะครับ
(คำแนะนำจะอยู่ก่อนถึงรูปภาพนั้นๆ)
1. เปิดไฟล์ httpd.conf โดยเลือกตามเมนูPrograms > AppServ>configuration server> apache configuration file
2. เมื่อเปิดไฟล์มาแล้ว ค้นหาด้วยคำว่า mod_rewrite จะพบกับคำสั่ง โหลดโมดูล ให้เอา # ข้างหน้าออกไปแล้ว save
3. จากนั้นก็ Restart Apache ซักรอบ
4. สร้างไฟล์ .htaccess เอาไปเก็บไว้ในโฟลเดอร์ที่ต้องการ และให้เขียนคำสั่งตามภาพด้านล่าง
RewriteRule ^page-([0-9]*).* grandevent.php?JS_Page=$1 [L,NC]
- RewriteRule เป็นคำสั่ง หรืออาจจะเรียกว่า กฎ การใช้งานก็ได้
- ^page-([0-9]*).* เป็น Regular Expression สำหรับเป็น pattern ในการเทียบค่า
- grandevent.php?JS_Page=$1 ไฟล์ที่จะให้แทนที่ กัน $1 ก็คือ ข้อมูลที่ได้จาก ([0-9]*)
- [L,NC] เป็น Flag ที่บอกว่า เมือทำมาถึงกฎข้อนี้ ให้หยุด ไม่ต้องทำตามกฎไหนๆ อีก
^page-([0-9]*).*
ความหมายคือ ขึ้นต้นด้วยคำว่า page และต่อด้วย – จากนั้น ในวงเล็บก็คือ กลุ่มตัวเลข 0-9 กี่ตัวก็ได้ เพราะมี *
และจบด้วย .* หมายถึง ต่อจากนี้ไม่สนใจ จะเป็น อะไรก็ได้ เราก็ใช้เป็น .html ก็ได้ .xml ก็ได้ .php ก็ได้ หรอืไม่ใส่ก็ได้
กฎพวกนี้เราสามารถใส่ได้ หลายๆแบบครับ
โดยใส่ไล่บรรทัดมาเรื่อยๆ จะมีกี่กฎ ก็ได้ (ตรงนี้ถ้าไม่เข้าใจก็ถามได้ครับ..)
มีการแนบไฟล์ กฎของการทำ mod_rewrite มาให้แล้ว เป็นไฟล์ชื่อ mod_rewrite_cheat_sheet.png ครับ
** อาจจะใหญ่หน่อย ขออภัย แต่อยากให้ทุกอย่าง อยู่ในไฟล์เมล์นี้ จะได้เก็บไว้ได้ครับ
5. จากนั้นเวลาเราเรียกใช้งานปกติก็จะเป็นแบบนี้
6. แต่พอทำเป็น Mod_Rewrite ก็จะได้เป็น
จะเห็นว่าเป็น page-3.html ก็แสดงว่าเมื่อใส่ไปแบบนี้ ให้ส่งค่าไปให้ grandevent.php?JS_Page=3
แค่นี้แหละคับ ง่ายๆ แบบ Basic Basic