.htaccess คืออะไร? เข้าใจการใช้งานเบื่องต้น และเข้าใจกระบวนการทำงาน
Post date: 2025/04/26
Last update: 2025/04/26
Write by: Pasit Phonmanee (Founder)

ดัชนี
- 1. อะไรคือ .htaccess
- 2. เว็บเซิร์ฟเวอร์ Apache บนระดับ directory
- 3. Redirect URL
- 4. Rewrite URL
- 5. กำหนดหน้า Error Page
- 6. ป้องกันการเข้าถึงไฟล์
- 7. เปิด/ปิด directory listing
- 8. กำหนด Cache และ Gzip
- 9. ท้ายสุด
อะไรคือ .htaccess
.htaccess (ย่อมาจาก Hypertext Access) เป็นไฟล์คอนฟิกที่ใช้ควบคุมการทำงานของเว็บไซต์ ควบคุมพฤติกรรมของเว็บไซต์ในระดับโฟลเดอร์ ซึ่งไม่ใช่การควบคุมสูงสุด เป็นการควบคุมในระดับไฟล์ย่อย โดยไม่ได้เข้าไปแก้ไขคอนฟิกหลักของ Apache เอง โฮสติ้งหลายเจ้ารองระบการใช้งาน .htaccess เพื่อให้ผู้ใช้สามารถควบคุมตัวเว็บไซต์ของตัวเองได้
- 1. Redirect URL
- 2. Rewrite URL
- 3. กำหนดหน้า Error Page
- 4. ป้องกันการเข้าถึงไฟล์บางชนิด
- 5. เปิด/ปิด directory listing
- 6. กำหนด Cache และ Gzip Compression
ทาง webdevohm เองนอกจากจะมีบริการเช่า ซื้อโค้ดไปใช้ต่อ หรือสั่งทำกับเรา สามารถอ่านรายละเอียดได้ที่ shop เพื่อหาบริการที่เหมาะกับตัวเองทางทีมงานของเราพร้อมให้คำปรึกษาในทุกๆก้าวเราพร้อมสนับสนุนครับ และ บทความนี้ออกแบบมาให้ผู้ไม่มีพื้นฐานก็สามารถเข้าใจได้ง่าย และหากต้องการระบบที่พร้อมใช้งาน ทีมเราก็มีบริการให้ครบถ้วน ชมเทมเพลต หรือชมเพื่อเป็นตัวอย่าง
ตัวอย่างโค้ด .htaccess ที่พบบ่อย
เว็บเซิร์ฟเวอร์ Apache บนระดับ directory (โฟลเดอร์ย่อย)?
เว็บเซิร์ฟเวอร์ Apache บนระดับ directory (โฟลเดอร์ย่อย) คือ หมายถึง ความสามารถที่เราใช้ในการตั้งค่าของเว็บในแต่ละโฟลเดอร์ย่อย ได้แยกออกจากกัน โดยไม่ต้องไปแก้ไขโฟลเดอร์หลัก
แต่ละ .htaccess จะสามารถควบคุมการทำงานเฉพาะ โฟลเดอร์ที่อยู่ร่วมกับมันด้วยโครงสร้างแรกที่ .htaccess ควบคุมได้ทั้งหมด และ .htaccess ควบคุม โฟลเดอร์ที่มันอยู่และในโฟลเดอร์ตัวเองย่อยลงไปได้ นั่นคือadmin/.htaccess จะมีผลกับ admin/dashboard.php, log/.htaccess จะมีผลกับ blog/post.php, public_html/.htaccess ควบคุมทั้งเว็บ (เพราะอยู่ root)
Redirect URL
เหมาะกับผู้ต้องการเปลี่ยนเส้นทางของเซิร์ฟเวอร์ URL หนึ่งไปอีก URL หนึ่ง โดยผ่าน .htaccess ซึ่งเหมาะกับเว็บที่ใช้ Apache เป็นเว็บเซิร์ฟเวอร์
เปลี่ยนหน้าเก่าไปหน้าใหม่ (Permanent Redirect 301)
ถ้ามีคนเข้าหน้า /old-page.html จะถูกพาไปที่ https://example.com/new-page.html แทนแบบถาวร URL เดิมเลิกใช้แล้ว SEO จะย้ายไป URL ใหม่ ถ้า 302 ชั่วคราว (Temporary) URL เดิมยังจะกลับมาใช้ภายหลัง
เปลี่ยนจาก HTTP ไป HTTPS
ถ้าเข้าเว็บแบบไม่ปลอดภัย (http://) จะถูกส่งไปยังแบบปลอดภัย (https://)
ย้ายทั้งเว็บ (Domain Migration)
ย้ายทั้งเว็บจาก oldsite.com ไปที่ newsite.com
Rewrite URL
การ Rewrite URL ด้วย .htaccess คือการเปลี่ยน URL ที่ออกมาไม่สวยเช่น https://webdevohm.com/product.php?id=10 ให้กลายเป็น https://webdevohm.com/product/10 เป็นต้น เพื่อให้เป็นมิตรต่อผู้ใช้และ Google มากขึ้น โดยไม่ต้องเปลี่ยนชื่อไฟล์จริงของระบบ
วิธีทำ Rewrite URL ด้วย .htaccess
ความหมายคือ หากมีคนเข้า https://webdevohm.com/product/10 → ให้แปลงไปใช้ไฟล์ product.php?id=10 เบื้องหลัง (โดยผู้ใช้ไม่รู้)
กำหนดหน้า Error Page
การกำหนดหน้า Error page ด้วย .htaccess คือการตั้งค่าให้ตัวเว็บไซต์แสดงหน้าเฉพาะ แทนข้อความ Error แบบพื้นฐานของตัวเว็บ อาจจะแสดงเนื่องจากผู้ใข้พยายามเข้าหน้าที่เราปิดกั้นไว้เป็นต้น จุดประสงค์หลัก เพื่อให้ประสบการณ์ผู้ใช้งานดีขึ้น เพิ่มความน่าเชื่อถือของเว็บไซต์ ป้องกันไม่ให้ผู้ใช้เห็นข้อมูลระบบหรือโค้ด error ที่ละเอียดเกินไป
วิธีตั้งค่า Error Page
ป้องกันการเข้าถึงไฟล์บางชนิด
ป้องกันการเข้าถึงไฟล์บางชนิดด้วย .htaccess เพื่อสั่งให้เซิร์ฟเวอร์ ห้ามไม่ให้ผู้ใช้งานเข้าถึงไฟล์บางประเภท .env, .sql, .php เป็นต้น เพื่อความปลอดภัยของระบบและข้อมูล
ป้องกันการเข้าถึงไฟล์ .env
ป้องกันการเข้าถึงไฟล์ทั้งหมดที่ลงท้ายด้วย .sql, .bak, .zip
เปิด/ปิด directory listing
การ เปิด/ปิด Directory Listing ด้วย .htaccess คือการควบคุมว่า เมื่อผู้ใช้เข้าไปยังโฟลเดอร์ที่ ไม่มีไฟล์ index เช่น index.html หรือ index.php จะให้ แสดงรายการไฟล์ทั้งหมดในโฟลเดอร์นั้นหรือไม่
วิธี "ปิด " directory listing (แนะนำให้ใช้)
วิธี "เปิด" directory listing (ไม่แนะนำเว้นแต่จำเป็น)
กำหนด Cache และ Gzip Compression
การ กำหนด Cache และ Gzip Compression ด้วย .htaccess คือการปรับแต่งเว็บไซต์ให้ โหลดเร็วขึ้น และ ประหยัดแบนด์วิดธ์ โดยตั้งค่าผ่าน .htaccess บน Apache server โดยไม่ต้องแก้โค้ดเว็บไซต์โดยตรง
ส่วนที่ 1: Cache Control (ตั้งอายุเก็บไฟล์ใน browser)
ส่วนที่ 2: Gzip Compression (บีบอัดไฟล์ก่อนส่งให้ผู้ใช้)
ท้ายสุด
ขอบคุณที่ติดตามจนจบบทความ... หากคุณสนใจทดลองใช้เว็บไซต์พร้อมระบบหลังบ้านของเรา
👉 ดูบริการทั้งหมด: คลิกที่นี่
📩 สนับสนุนหรือพูดคุยเพิ่มเติม: ติดต่อทีมงาน