ModRewriteSyntaxการเขียน.htaccess
Mod Rewrite จะเป็นการเขียนคำสั่ง ให้ลิงค์เว็บไซต์ หรือ URL ให้สั้นลงดูแล้วสะอาดตา ช่วยในการ ทำ SEO ได้ดีขึ้น เพราะ Google มันจะชอบลิงค์สั้นอ่านแล้วเข้าใจง่ายมีความหมาย (อันนี้อ่านเจอจากเว็บต่างประเทศ) Mod Rewrite มันก็จะช่วยซ่อน URL ที่ยาวและมั่วให้อยู่ในรูปแบบ URL ที่สั้นและสวยงามมีความหมาย
คำสั่ง Mod Rewrite ที่เขียนนั้นจะต้องบันทึกเป็นไฟล์ .htaccess ไว้ใน Directory ของเว็บไซต์ ซึ่ง Syntax Mod Rewrite หรือคำสั่งที่ใช้ในการเขียนก็ตั้งแต่ Basic จนถึง Advance ตอนนี้เราก็มาดูคำสั่งแบบ Basic ที่ใช้กันส่วนมากกันก่อนครับ
การที่จะให้งานคำสั่ง Mod Rewrite ได้นั้นจะต้องตั้งค่า httpd.conf Mod Rewrite ใน Appserv ก่อนนะครับ แล้ว การเขียนคำสั่งใน Appserv กับ IIS จะไม่เหมือนกันนะครับ แต่คล้ายๆกัน แต่ผมจะแนะนำการเขียนใน Appserv นะครับเพราะส่วนใหญ่จะใช้ Appserv กัน
ไฟล์ .htaccess
#คำสั่งแรก RewriteEngine On เป็นคำสั่งเปิดใช้งาน mod rewirte เครื่อง # เป็นเครื่องหมายที่ใช้ในการ Comment
RewriteEngine On
#คำสั่ง RewriteBase คำสั่งให้สามารถให้งานฟังก์ชั่นของ PHP Version ต่ำกว่า Version ปัจจุบันได้ หรือสามารถอ่านคำสั่งอักขระพิเศษที่ Server ปิดการใช้งานไว้ อันนี้ตามที่ผมเข้าใจ
php_flag register_globals on
#คำสั่งเรียกที่พาสของเว็บไซต์ ถ้าไม่มีก็ไม่ต้องใส่ ถ้าเก็บไฟล์เว็บไว้ในโฟล์เดอย่อยไปอีกก็จะเขียน เช่น RewriteBase / helloworld คือเราเก็บไฟล์เว็บไว้ใน www/helloworld ถ้าไม่มีก็ใส่แค่ ส่วนใหญ่จะเป็นทดสอบใน localhost
RewriteBase
#คำสั่ง RewriteRule เป็นการกำหนดเงื่อนไขที่จะทำการแปลง URL เช่น
RewriteRule
ส่งค่าตัวแปรเดียว
#RewriteRule ^(.*)$ ?option=topic&view=detail&name1=$1
#RewriteRule ^([a-zA-Z0-9_-]+)$ ?option=topic&view=detail&name1=$1
#RewriteRule ^(.*).html$ ?option=topic&view=detail&name1=$1
ส่งค่ามากกว่า 1 ตัวแปร
#RewriteRule ^(.*)-^(.*)$ ?option=topic&view=detail&name1=$1&name2=$2
#RewriteRule ^(.*)-^(.*).html$ ?option=topic&view=detail&name1=$1&name2=$2
^(.*)$ ความหมายคือ ส่งค่าอะไรมาก็ได้
^([a-zA-Z0-9_-]+)$ ความหมายคือ ค่าที่ส่งมาได้เฉพาะค่าที่กำหนดเท่านั้น คือ 0-9 กับอักษร a-z A-Z เท่านั้น
โดยจะส่งค่าไปที่ตัวแปร $1 จะเป็น ID หรือ ชื่อหัวข้อก็ได้ เวลาจะเรียกก็อย่าง เช่น
www.example.com/rewriterule อันนี้เป็น URL Mod Rewirte
www.example.com/rewriterule.html อันนี้เป็น URL Mod Rewirte
www.example.com/?option=topic&view=detail&name=rewriterule อันนี้เป็น URL จริงที่ทำงานอยู่ภายใน
#คำสั่ง ErrorDocument 404 เป็นคำสั่งตรวจสอบไฟล์ 404 คือไม่พบไฟล์ที่ส่งมา โดยจะต้องสร้างไฟล์ 404.htnl ไว้ใน Directory ของเว็บไซต์ วิธีเขียน
ErrorDocument 404 /helloworld/404.html
สรุปไฟล์ .htaccess
RewriteEngine On
RewriteBase / hellworld
#กรณีทดสอบใน localhost ใส่พาสที่อยู่ของเว็บ RewriteBase / hellworld
RewriteRule ^(.*)$ ?option=topic&view=detail&name1=$1
#เวลาเรียก URL เช่น www.example.com/rewriterule
ErrorDocument 404 /helloworld/404.html
ประเทศที่สามารถเข้าออก"ช่องแคบฮอร์มุซ"ได้ณเวลานี้
ต่างจังหวัดในไทยที่กำลังจะมีรถไฟในอนาคต
ประเทศที่เล็กที่สุดในโลก(พื้นที่เพียง 550 ตร.ม.)
ค่าตอบแทนเงินเดือนพนักงานเก็บเงินทางด่วน
เปิด 10 จังหวัดที่มีความยากจนสูงสุดในไทย ปี 2568–2569
โรงเรียนเอกชนในประเทศไทย ที่มีจำนวนนักเรียนมากเป็นอันดับหนึ่ง
เปิดรายชื่อ 10 จังหวัดค่าครองชีพสูง รายได้สวนทาง ปี 2568
ประเทศในตะวันออกกลางที่พี่ไทยนำเข้าน้ำมันเชื้อเพลิงมากที่สุด
เลขเด็ดปกสลากงวดประจำวันที่ 16 มีนาคม 69 กับคนสวนชวนฝัน
ปลาสวยงามพันธุ์หายาก ที่พบได้เฉพาะในประเทศไทยเท่านั้นบนโลก
กองทัพไทยขึ้นอันดับ 24 ของโลก ปี 2026 ติดท็อป 10 เอเชีย และอันดับ 3 อาเซียน
หนังที่ขาดทุนรุนแรงมากที่สุด เท่าที่เคยมีการบันทึกสถิติไว้ในโลก
จังหวัดที่มีเส้นทางรถไฟฟ้ายาวที่สุด อันดับหนึ่งในประเทศไทย
ประเทศในตะวันออกกลางที่พี่ไทยนำเข้าน้ำมันเชื้อเพลิงมากที่สุด
สหรัฐฯ เผยทหารกว่า 560 นายเสียชีวิต จากการโจมตีขีปนาวุธอิหร่าน
"หน้าเงินเกินไปไหม? แฉวีรกรรม 'เจ้าของตึกมหาภัย' ขึ้นค่าเช่ารายวัน-เก็บยิบย่อย-ไล่ที่คนทำมาหากิน...หัวใจทำด้วยอะไร!? ใครเช่าที่ทำธุรกิจต้องอ่านก่อนซวย!"
3 อันดับแรกจังหวัดที่มี'ความยากจน'สูงที่สุดในประเทศไทย
3 จังหวัดที่มีการบริโภค"เนื้อวัว"มากที่สุดในประเทศไทย
ทำไมประเทศไทยมีแค่ 3 ฤดู? อธิบายแบบเข้าใจง่าย