Technology

วิธีแก้ไขปัญหา WordPress Posts ขึ้น 404 Error (ทีละขั้นตอน)

2025-03-31 11:28:36


คุณเคยพยายามเปิดโพสต์บน WordPress แล้วพบกับหน้า 404 Error หรือไม่? ปัญหานี้อาจเกิดขึ้นเมื่อคุณสามารถเข้าถึงหน้าแอดมินของ WordPress ได้ตามปกติ แต่เมื่อเปิดโพสต์หรือหน้าเว็บบางหน้า กลับขึ้นข้อความ "404 Not Found"




สาเหตุที่ WordPress Posts ขึ้น 404 Error

มีหลายสาเหตุที่ทำให้โพสต์ของคุณแสดง 404 Error เช่น:

  • ความขัดแย้งระหว่างปลั๊กอินหรือธีม – ปลั๊กอินหรือตัวธีมที่คุณใช้ อาจมีปัญหากับโครงสร้างลิงก์ (permalinks) ของ WordPress
  • โค้ดที่กำหนดเอง (Custom Code) มีข้อผิดพลาด – หากคุณเพิ่มโค้ดลงไปในไฟล์ของเว็บไซต์ อาจทำให้เกิดปัญหากับ permalinks ได้
  • ไฟล์ .htaccess มีปัญหา – ไฟล์นี้ควบคุมโครงสร้าง URL ของ WordPress และหากเสียหายหรือถูกลบไป อาจทำให้เกิด 404 Errors



วิธีแก้ไข WordPress Posts ที่ขึ้น 404 Error

1. ตรวจสอบความขัดแย้งของปลั๊กอิน ธีม และโค้ดที่เพิ่มเข้ามา

ปิดปลั๊กอินทั้งหมดชั่วคราว

  • ไปที่ Plugins » Installed Plugins ในแผงควบคุม WordPress
  • เลือก Deactivate ทั้งหมด แล้วตรวจสอบว่าโพสต์ยังขึ้น 404 Error หรือไม่
  • หากปัญหาหายไป ให้ลองเปิดใช้งานปลั๊กอินทีละตัว เพื่อตรวจสอบว่าปลั๊กอินไหนเป็นต้นเหตุ

เปลี่ยนกลับไปใช้ธีมเริ่มต้นของ WordPress

  • ไปที่ Appearance » Themes
  • เลือกธีมมาตรฐานของ WordPress เช่น Twenty Twenty-Four
  • ตรวจสอบว่าโพสต์สามารถเปิดได้ตามปกติหรือไม่

ตรวจสอบโค้ดที่เพิ่มเข้ามา

  • หากคุณเพิ่งเพิ่มโค้ดลงใน functions.php หรือใช้ปลั๊กอินสำหรับโค้ด เช่น WPCode ลองลบหรือปิดการใช้งานแล้วตรวจสอบใหม่


2. รีเซ็ตค่าของ Permalink Settings

ปัญหา 404 Error อาจเกิดจากการตั้งค่า permalinks ผิดพลาด ให้ทำตามขั้นตอนนี้:

  • ไปที่ Settings » Permalinks
  • กดปุ่ม Save Changes โดยไม่ต้องเปลี่ยนค่าใดๆ
  • ลองโหลดหน้าโพสต์ใหม่


3. แก้ไขไฟล์ .htaccess

หากการรีเซ็ต permalinks ไม่ได้ผล คุณอาจต้องแก้ไขไฟล์ .htaccess ด้วยตนเอง:

ขั้นตอนการแก้ไข .htaccess

  • ใช้โปรแกรม FTP เช่น FileZilla หรือเปิด File Manager ในโฮสติ้งของคุณ
  • ไปที่โฟลเดอร์ /public_html/ หรือโฟลเดอร์ที่ติดตั้ง WordPress
  • ค้นหาไฟล์ .htaccess และทำการแบ็คอัพก่อนแก้ไข
  • เปิดไฟล์ .htaccess แล้วแทนที่โค้ดเดิมด้วยโค้ดนี้:


# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress


  • บันทึกไฟล์ แล้วลองเปิดโพสต์ใหม่อีกครั้ง


4. ติดต่อผู้ให้บริการโฮสติ้ง

หากคุณลองทุกวิธีข้างต้นแล้วยังเจอปัญหา 404 Error ให้ติดต่อโฮสติ้งของคุณ เนื่องจากอาจเป็นปัญหาที่ฝั่งเซิร์ฟเวอร์


5. เปิดใช้งาน mod_rewrite (สำหรับ Local Server)

หากคุณใช้เซิร์ฟเวอร์ท้องถิ่น (MAMP, WAMP, XAMPP) คุณต้องเปิดใช้งาน mod_rewrite ด้วยวิธีนี้:

  • เปิดไฟล์ httpd.conf ของ Apache
  • ค้นหาบรรทัดนี้: #LoadModule rewrite_module modules/mod_rewrite.so แล้วลบ # ออก
  • เปลี่ยน AllowOverride None เป็น AllowOverride All
  • บันทึกไฟล์ แล้วรีสตาร์ท Apache




หากคุณพบปัญหาโพสต์ของ WordPress ขึ้น 404 Error ให้ลองใช้วิธีดังต่อไปนี้:

  • ปิดปลั๊กอินและธีมเพื่อตรวจสอบความขัดแย้ง
  • รีเซ็ตค่าของ permalinks
  • แก้ไขไฟล์ .htaccess
  • ติดต่อโฮสติ้งหากปัญหายังคงอยู่
  • เปิดใช้งาน mod_rewrite หากใช้งานเซิร์ฟเวอร์ท้องถิ่น

หวังว่าบทความนี้จะช่วยให้คุณแก้ไขปัญหาได้อย่างรวดเร็ว

ร่วมเเสดงความคิดเห็น :