
สรุปคำตอบ
จริง ไฟล์ .htaccess คือไฟล์ตั้งค่าของ Apache ที่ WordPress ใช้ควบคุม URL rewriting และการ Redirect ถ้าไฟล์เสีย ถูกแก้ผิด หรือหายไป อาจทำให้ทั้งเว็บขึ้น Error 500, ทุก Permalink เป็น 404 หรือวน Redirect loop (ERR_TOO_MANY_REDIRECTS) สาเหตุที่พบบ่อยคือ Plugin SEO หรือ Security เขียนกฎทับกัน แก้ไฟล์แล้ว Syntax ผิด หรือ Permission ผิด วิธีแก้ที่ง่ายที่สุดคือเปลี่ยนชื่อไฟล์เดิมเพื่อทดสอบ แล้วเข้า Settings → Permalinks กด Save Changes ให้ WordPress สร้างไฟล์ใหม่
ไฟล์ .htaccess เป็นไฟล์คอนฟิกระดับไดเรกทอรีของ Apache (Apache HTTP Server Tutorial) ที่ WordPress แก้ไขเพื่อรองรับ Pretty Permalink (เอกสาร .htaccess ของ WordPress.org) และใช้ควบคุม URL rewriting, การเปลี่ยนเส้นทาง, และสิทธิ์การเข้าถึงโฟลเดอร์ต่าง ๆ หากไฟล์นี้เสียหาย ถูกแก้ผิด หรือหายไป ผลที่ตามมาอาจรุนแรงมาก — ตั้งแต่เปิดหน้าไม่ได้เลย ไปจนถึง Error 500 หรือ 404 กระหน่ำทั้งเว็บ บทความนี้จะพาคุณวิเคราะห์อาการ ตรวจสอบ และแก้ไขปัญหา .htaccess ตั้งแต่ต้นจนจบ โดยไม่จำเป็นต้องมีความรู้ด้านเซิร์ฟเวอร์มาก่อน
อาการที่บ่งบอกว่า .htaccess มีปัญหา

ปัญหา .htaccess มักแสดงอาการที่สังเกตได้ชัดเจน ดังนี้
- n
- HTTP Error 500 (Internal Server Error) — เกิดขึ้นทั้งหน้า Frontend และหน้า Admin โดยไม่มีข้อความอธิบาย สอดคล้องกับที่อธิบายไว้ในบทความ WordPress Error 500 เกิดจากอะไร และวิธีแก้ทีละขั้นตอน
- 404 Not Found ทุก Permalink — เข้าหน้าแรกได้ แต่กดลิงก์ไปบทความหรือหน้า Page ใด ๆ ขึ้น 404 ทันที เพราะกฎ Rewrite หายไป
- Redirect loop (ERR_TOO_MANY_REDIRECTS) — เบราว์เซอร์วนซ้ำไม่รู้จบ เนื่องจากกฎ Redirect ใน
.htaccessขัดแย้งกัน - เข้า wp-admin ได้ แต่หน้าบทความ 404 — สัญญาณชัดเจนว่าส่วน mod_rewrite ใน
.htaccessหายหรือถูกเขียนทับ - หน้าจอขาวหรือหน้าเปล่า — อาจเกี่ยวข้องกับ PHP อีกทีหนึ่ง แต่
.htaccessที่ตั้งค่า PHP flag ผิดก็ทำให้เกิดได้ ลองอ่านเพิ่มเติมที่WordPress หน้าจอขาว (White Screen) แก้ยังไง
สาเหตุที่ทำให้ .htaccess เสียหาย
- n
- อัปเดต WordPress หรือ Plugin แล้วกระบวนการเขียนไฟล์ใหม่ล้มเหลวกลางคัน ทำให้ไฟล์ไม่สมบูรณ์
- Plugin SEO หรือ Security เขียนทับ — ปลั๊กอิน Firewall (คู่มือ Hardening ของ WordPress.org ระบุว่าไฟร์วอลล์บางตัวทำงานโดยแก้ไฟล์ .htaccess), Cache และ Redirect หลายตัวเขียน
.htaccessเป็นของตัวเอง หาก Plugin ขัดแย้งกัน กฎจะปนกันยุ่ง - แก้ไขผ่าน File Manager หรือ FTP ผิดพลาด — บันทึกไฟล์ที่มี syntax ผิด หรือเผลอลบบรรทัดสำคัญออก
- Permission ไฟล์ผิด — ถ้า
.htaccessมี Permission เป็น 000 หรือ 444 Apache จะอ่านไม่ได้หรือ WordPress เขียนไม่ได้ - Hosting ย้าย Server หรืออัปเกรด PHP — directive บางอย่างที่ใช้ได้กับ Apache เวอร์ชันเก่าอาจเกิด Error ใน Apache เวอร์ชันใหม่
วิธีตรวจสอบ .htaccess ทีละขั้นตอน
ก่อนแก้ไข ให้หาไฟล์และดูว่ามีปัญหาจริงหรือไม่
- n
- ขั้นที่ 1: เข้า File Manager หรือ FTP แล้วไปที่โฟลเดอร์ root ของ WordPress (เช่น
public_html/) ค้นหาไฟล์.htaccess— ถ้าไม่เห็น ให้เปิดตัวเลือก “Show Hidden Files” เนื่องจากชื่อไฟล์ขึ้นต้นด้วยจุด - ขั้นที่ 2: เปิดไฟล์แล้วตรวจว่ามี WordPress default block ซึ่งควรมีลักษณะประมาณนี้ (เวอร์ชันล่าสุดในเอกสาร .htaccess ของ WordPress.org มีบรรทัด HTTP_AUTHORIZATION เพิ่มเข้ามาด้วย):
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
- n
- ขั้นที่ 3: ตรวจ Error Log ผ่าน Hosting cPanel → Error Logs หรือไฟล์
error_logในโฟลเดอร์ root เพื่อดูว่า Apache รายงาน syntax error บรรทัดใดใน.htaccess - ขั้นที่ 4: ทดสอบโดยเปลี่ยนชื่อไฟล์ — rename
.htaccessเป็น.htaccess_oldแล้วโหลดหน้าเว็บอีกครั้ง ถ้าหน้าเว็บกลับมาได้ (แม้จะเป็น 404 ในบางหน้า) แสดงว่าไฟล์เดิมมีปัญหาแน่นอน

วิธีแก้ไข .htaccess ทีละขั้นตอน
เมื่อยืนยันแล้วว่าไฟล์มีปัญหา ทำตามขั้นตอนนี้
- n
- วิธีที่ 1: สร้างไฟล์ใหม่ผ่าน WordPress Dashboard — ไปที่ Settings → Permalinks แล้วกด Save Changes โดยไม่ต้องเปลี่ยนอะไร WordPress จะ generate
.htaccessใหม่ให้อัตโนมัติ นี่คือวิธีที่ง่ายและปลอดภัยที่สุด - วิธีที่ 2: แก้ไขไฟล์ด้วยตนเอง — ลบเนื้อหาทั้งหมดในไฟล์ แล้ววาง WordPress default block ด้านบนลงแทน จากนั้นบันทึกด้วย encoding UTF-8 (ไม่มี BOM)
- วิธีที่ 3: ตรวจ directive ของ Plugin — ถ้า Plugin Security หรือ Plugin Cache เขียนกฎซ้อนทับกัน ให้ Deactivate ทีละตัวแล้วทดสอบ อ่านเพิ่มเติมเกี่ยวกับปัญหา Plugin ในPlugin Conflict คืออะไร ทำไมทำให้เว็บ WordPress พัง
- วิธีที่ 4: ตรวจ Permission — ตามคู่มือ Hardening ของ WordPress.org ไฟล์ทั่วไปใช้ 644 ดังนั้น Permission ที่ถูกต้องคือ
644สำหรับ.htaccessเปลี่ยนผ่าน FTP หรือ File Manager → Right Click → Change Permission - วิธีที่ 5: ตรวจสอบ mod_rewrite — บาง Hosting ปิด
mod_rewriteไว้ หรือไม่ได้ตั้งAllowOverride Allใน Apache config ติดต่อ Hosting Support เพื่อให้ตรวจสอบให้ WordPress ระบุว่าต้องใช้ Apache ที่มีโมดูล mod_rewrite (Requirements) และ Apache อ่านคำสั่งใน .htaccess ตามที่ AllowOverride อนุญาต (ดูคู่มือ .htaccess ของ Apache และ เอกสาร mod_rewrite)
วิธีป้องกันไม่ให้ .htaccess พังซ้ำ
- n
- สำรองไฟล์ก่อนแก้ไขทุกครั้ง — ดาวน์โหลด
.htaccessเก็บไว้ใน Local Drive ก่อนจะ Update Plugin ใด ๆ ที่อาจแตะไฟล์นี้ - จำกัด Plugin ที่เขียน .htaccess — อย่าติดตั้ง Plugin Security หลายตัวพร้อมกัน เพราะแต่ละตัวมีกฎ firewall เป็นของตัวเอง อาจขัดกันได้
- ตั้งค่า Automatic Backup รายวัน — ใช้ Plugin เช่น UpdraftPlus หรือ BackWPup เพื่อให้มี restore point เสมอ โดยเฉพาะก่อนอัปเดตใหญ่
- ใช้ Staging Site — ทดสอบการเปลี่ยนแปลงบน Staging ก่อน Deploy ขึ้น Production เพื่อลดความเสี่ยงที่
.htaccessจะพังบนเว็บจริง
เมื่อไหร่ควรให้ผู้เชี่ยวชาญช่วย
บางสถานการณ์ซับซ้อนเกินกว่าจะแก้ไขเองได้อย่างปลอดภัย เช่น ไฟล์ .htaccess ถูกแก้ไขโดย Malware หรือมีกฎ Redirect ที่ซับซ้อนเพื่อ Spam SEO ซึ่งอาจต้องล้างทั้งเว็บ นอกจากนี้หาก Hosting ปิด mod_rewrite ในระดับ Server Config การแก้แค่ .htaccess ไม่ช่วย หรือหากปัญหาเกิดร่วมกับ Critical Error ใน WordPress และ Error Establishing a Database Connection พร้อมกัน อาจหมายถึงความเสียหายระดับลึกกว่านั้น ในกรณีเช่นนี้ ทีมงานของเราพร้อมช่วยแก้ WordPress ล่ม / Error ให้ตรงจุดโดยไม่ต้องเดาสุ่ม
คำถามที่พบบ่อย
.htaccess หายไปเองได้ไหม ไม่ได้ลบเอง
ได้ในบางกรณี เช่น Hosting Migration ที่ไม่คัดลอกไฟล์ Hidden, กระบวนการ Restore Backup บางโปรแกรมข้ามไฟล์ขึ้นต้นด้วยจุด หรือ Script อัปเดต WordPress ล้มเหลวกลางคัน ทางแก้คือสร้างใหม่ผ่าน Settings → Permalinks
ถ้าแก้ .htaccess แล้วยังเป็น 404 อยู่ ต้องทำอะไรต่อ
ให้ตรวจว่า Hosting เปิด mod_rewrite ไว้หรือเปล่า และมี AllowOverride All ใน Apache config หรือไม่ ถ้า Permalink Structure ยังเป็น Plain ให้เปลี่ยนเป็น Post Name แล้ว Save ใหม่อีกครั้ง
.htaccess ส่งผลกับ Multisite WordPress ด้วยไหม
ส่งผลอย่างมาก เพราะ Multisite ต้องการกฎ Rewrite พิเศษที่แตกต่างจาก Single Site ทั้ง Subdomain และ Subdirectory mode หากใช้ Default block ของ Single Site ก็จะทำให้ Sub-site ทั้งหมดเข้าไม่ได้
Plugin Security อย่าง Wordfence หรือ iThemes เขียน .htaccess เองได้จริงไหม
ใช่ ทั้งสองตัวเขียนกฎ Firewall ลงใน .htaccess โดยอัตโนมัติ หากติดตั้งทั้งคู่พร้อมกันจะเกิดกฎซ้อนกัน ควรใช้เพียงตัวเดียวและตรวจสอบ .htaccess หลัง Activate เสมอ
.htaccess คืออะไร ใช้ทำอะไรใน WordPress?
.htaccess คือไฟล์คอนฟิกระดับ Server ของ Apache ที่อยู่ในโฟลเดอร์ root ของ WordPress ใช้กำหนดกฎ Rewrite ให้ Permalink ทำงาน กฎ Redirect และสิทธิ์การเข้าถึงโฟลเดอร์ ชื่อไฟล์ขึ้นต้นด้วยจุดจึงต้องเปิด Show Hidden Files ถึงจะเห็น
Permission ของไฟล์ .htaccess ควรตั้งเป็นเท่าไหร่?
ควรตั้งเป็น 644 เพื่อให้ Apache อ่านได้แต่ป้องกันการแก้ไขจากภายนอก ถ้าตั้งเป็น 000 Apache จะอ่านไม่ได้ และถ้าเป็น 444 WordPress จะเขียนกฎใหม่ลงไฟล์ไม่ได้
แหล่งอ้างอิง
- Apache Software Foundation. (ม.ป.ป.). Apache HTTP Server Tutorial: .htaccess files. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://httpd.apache.org/docs/current/howto/htaccess.html
- Apache Software Foundation. (ม.ป.ป.). Apache Module mod_rewrite. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://httpd.apache.org/docs/current/mod/mod_rewrite.html
- WordPress.org. (ม.ป.ป.). Apache HTTPD / .htaccess (Advanced Administration Handbook). สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://wordpress.org/documentation/article/htaccess/
- WordPress.org. (ม.ป.ป.). Requirements. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://wordpress.org/about/requirements/
- WordPress.org. (ม.ป.ป.). Hardening WordPress (Advanced Administration Handbook). สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://developer.wordpress.org/advanced-administration/security/hardening/
