ตัวอย่างที่ 1
ไฟล์ .htaccess ใช้เพื่อเปลี่ยนเส้นทาง url เช่น
url จริง คือ
http://www.palthai.com/article_view.php?id=1
ผมต้องการให้คนเข้าเว็บ โดยพิมพ์ url สั้น ๆ เช่น
http://www.palthai.com/cat.htm
ผมจะเขียนไฟล์ .htaccess แบบนี้
RewriteEngine On
RewriteRule cat.htm articles_view.php?id=1
หมายถึง ถ้ามีคนจะดูหน้า cat.htm ให้ไปเรียกหน้า articles_view.php?id=1 มาแสดงแทน
ตัวอย่างที่ 2
url จริง คือ
http://www.example.com/study_view.php?id=1
ผมต้องการให้ url จำง่าย เลยเปลี่ยนเป็น
http://www.example.com/study-in-usa/arkansas-state-university.html
ผมเลยเขียนไฟล์ .htaccess แบบนี้
RewriteEngine On
RewriteRule ^study-in-(.*)/(.*).html study_view.php?kw=$2&country=$1
เมื่อกรอก url เป็น
http://www.example.com/study-in-usa/arkansas-state-university.html
ข้อความหลัง study-in- จะเป็นตัวแปร country
ข้อความก่อน .html จะเป็นตัวแปร kw
แล้วให้ไปเรียกไฟล์ study_view.php ขึ้นมาทำงานแทน โดยส่งตัวแปรไป 2 ตัว คือ
http://www.example.com/study_view.php?kw=arkansas-state-university&country=usa
ส่วนในฐานข้อมูล นอกจากค่า ID ผมเพิ่มค่า KEYWORD ไปด้วย
เช่น ID = 1, KEYWORD = 'arkansas-state-university'
ดังนั้น เมื่อเรียกดู study_view.php โดยอ้างอิง keyword = 'arkansas-state-university' เลยมีค่าเท่ากับอ้างอิง id = 1
ตัวอย่างที่ 3
url จริง
http://www.example.com/main.php?url=baan&bid=1
http://www.example.com/main.php?url=about
http://www.example.com/main.php?url=board
url ใหม่
http://www.example.com/baan.php?id=1
http://www.example.com/about.php
http://www.example.com/board.php
ผมเขียนไฟล์ .htaccess แบบนี้
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^url=baan&bid=(.*)$
RewriteRule ^main.php baan.php?id=%1 [R=301,L]
RewriteCond %{QUERY_STRING} ^url=(.*)$
RewriteRule ^main.php %1.php? [R=301,L]
คือ เราต้องเอาค่าตัวแปรมาใช้ด้วย เลยต้องเขียน 2 บรรทัด
2 เม.ย. 58