แก้ .htaccess แล้วเว็บ Joomla ใช้งานไม่ได้ ต้องตรวจหรือย้อนค่าตรงไหน?

ถ้าเว็บไซต์ Joomla ใช้งานไม่ได้หลังแก้ .htaccess ให้ย้อนการเปลี่ยนแปลงล่าสุดก่อน โดยสำรองไฟล์ปัจจุบันแล้วเปลี่ยนชื่อไฟล์ชั่วคราวเพื่อทดสอบ หากเว็บกลับมาใช้งานได้ แสดงว่าปัญหาเกี่ยวข้องกับกฎในไฟล์หรือคำสั่งที่เซิร์ฟเวอร์ไม่รองรับ

❶ สำรองไฟล์และกู้เว็บไซต์ให้กลับมาเปิดได้

① เข้า File Manager ของโฮสติ้งหรือเชื่อมต่อผ่าน FTP แล้วเปิดโฟลเดอร์หลักของ Joomla

② ดาวน์โหลดไฟล์ .htaccess เก็บไว้ก่อนแก้ เพื่อให้ย้อนกลับได้

③ เปลี่ยนชื่อไฟล์เป็นชื่อสำรอง เช่น .htaccess.backup แล้วทดสอบหน้าเว็บไซต์

④ หากเว็บกลับมาใช้งานได้ ให้คงไฟล์สำรองไว้ก่อนและตรวจบรรทัดที่เพิ่มหรือเปลี่ยนล่าสุด หากเว็บยังเสีย ให้เปลี่ยนชื่อกลับและตรวจสาเหตุส่วนอื่น

การเปลี่ยนชื่อ .htaccess อาจทำให้ URL แบบ SEF หรือกฎป้องกันบางอย่างหยุดทำงานชั่วคราว ใช้ขั้นตอนนี้เพื่อทดสอบและกู้การเข้าถึงเท่านั้น

❷ ตรวจบรรทัดที่แก้ล่าสุด

① หากมีสำเนาก่อนแก้ ให้เปรียบเทียบไฟล์เดิมกับไฟล์ปัจจุบัน แล้วตรวจบรรทัดที่เพิ่ม แก้ หรือลบ

② หากไม่มีสำเนา ให้ย้อนเฉพาะกฎที่เพิ่งเพิ่ม โดยใส่เครื่องหมาย # หน้าบรรทัดเพื่อปิดชั่วคราว แทนการลบหลายบรรทัดพร้อมกัน

③ ทดสอบหลังปิดทีละกฎ หากเว็บกลับมาได้ ให้ตรวจคำสั่งนั้นกับผู้ดูแลเซิร์ฟเวอร์ก่อนนำกลับมาใช้

④ ระวังคำสั่งที่เกี่ยวกับ Options, RewriteBase, RewriteCond และ RewriteRule เพราะการรองรับขึ้นอยู่กับเว็บเซิร์ฟเวอร์และการตั้งค่าโฮสติ้ง

❸ ตรวจไฟล์และค่า URL Rewriting ของ Joomla

① ตรวจว่าแก้ไฟล์ .htaccess ในโฟลเดอร์ติดตั้ง Joomla ถูกตำแหน่ง โดยเฉพาะกรณีติดตั้งในโฟลเดอร์ย่อย

② สำหรับ Apache หรือ LiteSpeed ให้ตรวจค่า RewriteBase ว่าตรงกับตำแหน่งเว็บไซต์ หากติดตั้งที่โฟลเดอร์หลักมักใช้ / แต่ถ้าอยู่ในโฟลเดอร์ย่อยต้องตรวจค่าตามโครงสร้างจริง

③ หากเปิด Use URL Rewriting ใน Global Configuration ให้ตรวจว่าเซิร์ฟเวอร์รองรับ rewrite และอนุญาตให้ .htaccess ทำงาน

④ หากเว็บใช้ Nginx หรือ IIS อย่านำกฎ Apache ใน .htaccess ไปใช้แทนการตั้งค่าของเซิร์ฟเวอร์นั้น ให้ผู้ดูแลโฮสติ้งตรวจไฟล์หรือกฎที่ถูกต้อง

❹ กลับไปใช้ไฟล์มาตรฐานอย่างระมัดระวัง

① Joomla มีไฟล์ htaccess.txt ที่เตรียมกฎพื้นฐานไว้ แต่ก่อนนำมาใช้ควรสำรอง .htaccess เดิมและตรวจว่ามีกฎเฉพาะของเว็บไซต์ที่ต้องเก็บไว้หรือไม่

② อย่าวางทับไฟล์เดิมทันที เพราะกฎ redirect, การบังคับ HTTPS หรือกฎความปลอดภัยที่ใช้อยู่ อาจหายไป

③ หากต้องใช้กฎพื้นฐาน ให้รวมเฉพาะส่วนที่จำเป็นและทดสอบทีละขั้น โดยยืนยันกับโฮสติ้งว่าคำสั่งรองรับ

④ อย่าแก้ htaccess.txt แทนไฟล์ .htaccess ที่ใช้งานจริง เพราะเว็บเซิร์ฟเวอร์มักอ่านไฟล์ที่กำหนดไว้เป็นไฟล์ active เท่านั้น

❺ ทดสอบเว็บหลังย้อนหรือแก้กฎ

① เปิดหน้าแรก หน้าแอดมิน และหน้าเนื้อหาหลายหน้า ตรวจว่ามี Error 500, 403 หรือ redirect วนซ้ำหรือไม่

② ทดสอบ URL แบบ SEF หากหน้าเว็บเปิดได้แต่ลิงก์ภายในเสีย ให้ตรวจ URL Rewriting และ RewriteBase เพิ่มเติม

③ ล้างแคช Joomla และแคชของเบราว์เซอร์หลังแก้กฎ

④ หากยังพบ Error 500 ให้ส่งไฟล์ .htaccess และข้อความจาก error log ให้ผู้ให้บริการโฮสติ้งตรวจ แทนการเพิ่มกฎใหม่ซ้ำ ๆ

ComSiam แนะนำให้เก็บไฟล์สำรองทุกครั้งก่อนแก้ .htaccess และย้อนทีละกฎเมื่อเว็บเสีย วิธีนี้ช่วยหาบรรทัดต้นเหตุและลดโอกาสกระทบกฎอื่นในเว็บไซต์

หลังเว็บกลับมาใช้งานได้ ให้ทดสอบ URL สำคัญและตรวจว่ากฎ HTTPS หรือ redirect ยังทำงานตามต้องการ จากนั้นเก็บไฟล์ที่ใช้งานได้เป็นสำเนาสำรอง ComSiam ใช้การเปรียบเทียบไฟล์ก่อนและหลังแก้เพื่อระบุการเปลี่ยนแปลงได้ตรงจุด