อันนี้ผมลองเขียนเล่นๆ ให้ดูเป็นตัวอย่างนะครับ แบบ Multiple Rules
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#สำหรับ sub-cat
RewriteRule ^(.*)/(.*)/page/(.*) subcat.php?route=$1/$2/$3 [L]
#สำหรับ main-cat
RewriteRule ^(.*)/page/(.*) main-cat.php?route=$1/$2 [L]
#สำหรับ root/home
RewriteRule ^page/(.*) index.php?route=page/$1 [QSA,L]
จริงๆแล้วมันยังสามารถกระดิกได้อีกครับ แล้วแต่งานของเรา
ถ้าจะเอาแบบ dynamic และยืดหยุ่นจริงๆ ผมแนะนำให้สร้างไฟล์ router สำหรับจัดการดีกว่าครับ แล้วลดให้เหลือ 1 rule วิ่งเข้า index ไฟล์เดียวพอ(เหมือนกับ framework ทั่วไป)
จากนั้นค่อยไปเขียน logic สำหรับการ wakeup หรือ bootstrap เรียกไฟล์ที่ต้องการให้ทำงานอีกทีหนึ่ง
ปล. ถ้ายังงงอยู่ pm มาได้เลยครับ ถ้าว่างเด๋วผมจะเข้ามาตอบให้
ขอบคุณครับ