
ไฟล์ .htaccess เป็นไฟล์คอนฟิกระดับ server ที่ WordPress ใช้ควบคุม URL rewriting, การเปลี่ยนเส้นทาง, และสิทธิ์การเข้าถึงโฟลเดอร์ต่าง ๆ หากไฟล์นี้เสียหาย ถูกแก้ผิด หรือหายไป ผลที่ตามมาอาจรุนแรงมาก — ตั้งแต่เปิดหน้าไม่ได้เลย ไปจนถึง Error 500 หรือ 404 กระหน่ำทั้งเว็บ บทความนี้จะพาคุณวิเคราะห์อาการ ตรวจสอบ และแก้ไขปัญหา .htaccess ตั้งแต่ต้นจนจบ โดยไม่จำเป็นต้องมีความรู้ด้านเซิร์ฟเวอร์มาก่อน
nn
อาการที่บ่งบอกว่า .htaccess มีปัญหา
nn

nn
ปัญหา .htaccess มักแสดงอาการที่สังเกตได้ชัดเจน ดังนี้
n
- 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) แก้ยังไง
n
n
n
n
n
nn
nn
สาเหตุที่ทำให้ .htaccess เสียหาย
nn
- n
- อัปเดต WordPress หรือ Plugin แล้วกระบวนการเขียนไฟล์ใหม่ล้มเหลวกลางคัน ทำให้ไฟล์ไม่สมบูรณ์
- Plugin SEO หรือ Security เขียนทับ — ปลั๊กอินอย่าง Yoast, All in One SEO, Wordfence, iThemes Security ต่างก็เขียน
.htaccessเป็นของตัวเอง หาก Plugin ขัดแย้งกัน กฎจะปนกันยุ่ง - แก้ไขผ่าน File Manager หรือ FTP ผิดพลาด — บันทึกไฟล์ที่มี syntax ผิด หรือเผลอลบบรรทัดสำคัญออก
- Permission ไฟล์ผิด — ถ้า
.htaccessมี Permission เป็น 000 หรือ 444 Apache จะอ่านไม่ได้หรือ WordPress เขียนไม่ได้ - Hosting ย้าย Server หรืออัปเกรด PHP — directive บางอย่างที่ใช้ได้กับ Apache เวอร์ชันเก่าอาจเกิด Error ใน Apache เวอร์ชันใหม่
n
n
n
n
n
nn
วิธีตรวจสอบ .htaccess ทีละขั้นตอน
nn
ก่อนแก้ไข ให้หาไฟล์และดูว่ามีปัญหาจริงหรือไม่
n
- n
- ขั้นที่ 1: เข้า File Manager หรือ FTP แล้วไปที่โฟลเดอร์ root ของ WordPress (เช่น
public_html/) ค้นหาไฟล์.htaccess— ถ้าไม่เห็น ให้เปิดตัวเลือก “Show Hidden Files” เนื่องจากชื่อไฟล์ขึ้นต้นด้วยจุด - ขั้นที่ 2: เปิดไฟล์แล้วตรวจว่ามี WordPress default block ซึ่งควรมีลักษณะประมาณนี้:
n
n
n
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
n
- n
- ขั้นที่ 3: ตรวจ Error Log ผ่าน Hosting cPanel → Error Logs หรือไฟล์
error_logในโฟลเดอร์ root เพื่อดูว่า Apache รายงาน syntax error บรรทัดใดใน.htaccess - ขั้นที่ 4: ทดสอบโดยเปลี่ยนชื่อไฟล์ — rename
.htaccessเป็น.htaccess_oldแล้วโหลดหน้าเว็บอีกครั้ง ถ้าหน้าเว็บกลับมาได้ (แม้จะเป็น 404 ในบางหน้า) แสดงว่าไฟล์เดิมมีปัญหาแน่นอน
n
n
nn

nn
วิธีแก้ไข .htaccess ทีละขั้นตอน
nn
เมื่อยืนยันแล้วว่าไฟล์มีปัญหา ทำตามขั้นตอนนี้
n
- 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 — Permission ที่ถูกต้องคือ
644สำหรับ.htaccessเปลี่ยนผ่าน FTP หรือ File Manager → Right Click → Change Permission - วิธีที่ 5: ตรวจสอบ mod_rewrite — บาง Hosting ปิด
mod_rewriteไว้ หรือไม่ได้ตั้งAllowOverride Allใน Apache config ติดต่อ Hosting Support เพื่อให้ตรวจสอบให้
n
n
n
n
n
nn
วิธีป้องกันไม่ให้ .htaccess พังซ้ำ
nn
- n
- สำรองไฟล์ก่อนแก้ไขทุกครั้ง — ดาวน์โหลด
.htaccessเก็บไว้ใน Local Drive ก่อนจะ Update Plugin ใด ๆ ที่อาจแตะไฟล์นี้ - จำกัด Plugin ที่เขียน .htaccess — อย่าติดตั้ง Plugin Security หลายตัวพร้อมกัน เพราะแต่ละตัวมีกฎ firewall เป็นของตัวเอง อาจขัดกันได้
- ตั้งค่า Automatic Backup รายวัน — ใช้ Plugin เช่น UpdraftPlus หรือ BackWPup เพื่อให้มี restore point เสมอ โดยเฉพาะก่อนอัปเดตใหญ่
- ใช้ Staging Site — ทดสอบการเปลี่ยนแปลงบน Staging ก่อน Deploy ขึ้น Production เพื่อลดความเสี่ยงที่
.htaccessจะพังบนเว็บจริง
n
n
n
n
nn
เมื่อไหร่ควรให้ผู้เชี่ยวชาญช่วย
nn
บางสถานการณ์ซับซ้อนเกินกว่าจะแก้ไขเองได้อย่างปลอดภัย เช่น ไฟล์ .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 เสมอ
