เป็นเรื่องปกติที่จะพบข้อผิดพลาดขณะจัดการเว็บไซต์ WordPress และข้อผิดพลาด “406 ไม่ยอมรับ” เป็นหนึ่งในนั้น โดยทั่วไปแล้วรหัสข้อผิดพลาดนี้เรียกว่าการตอบกลับ HTTP หรือรหัสสถานะที่ทุกคนสามารถพบได้ขณะเยี่ยมชมไซต์
มันขัดขวางการทำงานและการเข้าถึงของไซต์ สร้างความหงุดหงิดให้กับเจ้าของไซต์และผู้เยี่ยมชม
สิ่งสำคัญคือต้องเข้าใจเหตุผลที่อยู่เบื้องหลังข้อผิดพลาด “406 ไม่ยอมรับ” เพื่อวิเคราะห์และแก้ไขอย่างมีประสิทธิภาพ มิฉะนั้นจะทำให้เว็บไซต์ของคุณดูไม่เป็นมืออาชีพและไม่ปลอดภัยในการเยี่ยมชม นอกจากนี้ คุณอาจสูญเสียการเข้าชมหรือยอดขายหากข้อผิดพลาดยังคงอยู่ในไซต์ WordPress ของคุณ
ในบทความนี้ ก่อนอื่นเราจะแนะนำคุณเกี่ยวกับข้อผิดพลาด “406 ไม่ยอมรับ” จากนั้นเราจะสำรวจสาเหตุที่อยู่เบื้องหลังข้อผิดพลาดนี้ สุดท้าย เราจะให้คำแนะนำที่เหมาะสมแก่คุณเพื่อแก้ไขปัญหาดังกล่าว ดังนั้น เรามาเริ่มกันเลยและทำให้เว็บไซต์ WordPress ของคุณทำงานได้อย่างราบรื่นอีกครั้ง
ข้อผิดพลาด “406 ไม่ยอมรับ” คืออะไร
ข้อผิดพลาด “406 ไม่ยอมรับ” เป็นรหัสสถานะ HTTP ที่แสดงเมื่อเซิร์ฟเวอร์ไม่สามารถดำเนินการตามคำขอของผู้ใช้ เนื่องจากส่วนหัวคำขอของไคลเอ็นต์ไม่ถูกต้อง เซิร์ฟเวอร์จึงส่งคืนข้อความ “406 ไม่ยอมรับ”
เป็นข้อผิดพลาดฝั่งไคลเอ็นต์ ซึ่งหมายความว่าเซิร์ฟเวอร์ไม่สามารถจัดเตรียมเนื้อหาที่ร้องขอในลักษณะที่สอดคล้องกับข้อกำหนดที่ระบุไว้ในคำขอของไคลเอ็นต์
ข้อผิดพลาด 406 มักจะระบุว่าผู้ใช้ไม่สามารถเข้าถึงหน้าใดหน้าหนึ่งหรือเนื้อหาสื่อบนไซต์ WordPress ดังนั้นจึงแสดงข้อความแสดงข้อผิดพลาดแทนเนื้อหาที่คาดไว้ นอกจากนี้ ข้อความอาจแตกต่างกันไปตามเบราว์เซอร์ที่ใช้งาน
แล้วอะไรคือสาเหตุหลักของข้อผิดพลาด “406 ไม่ยอมรับ” เป็นกระบวนการเจรจาเนื้อหาที่เกิดขึ้นระหว่างไคลเอ็นต์และเซิร์ฟเวอร์
การเจรจาเนื้อหาเป็นกระบวนการที่เซิร์ฟเวอร์และลูกค้าสนทนากันเพื่อตัดสินใจเลือกวิธีที่ดีที่สุดในการแสดงทรัพยากร ตัวอย่างบางส่วน ได้แก่ การตั้งค่าภาษา ชุดอักขระ และประเภทไฟล์มีเดีย
เนื้อหาและรูปแบบของข้อความแสดงข้อผิดพลาด 406 อาจแตกต่างกันไปขึ้นอยู่กับเว็บไซต์ สภาพแวดล้อมการโฮสต์ และเบราว์เซอร์ที่ใช้ในการเข้าถึงไซต์
แต่บางครั้ง ข้อความแสดงข้อผิดพลาดอาจมีข้อมูลที่เป็นประโยชน์ซึ่งอาจช่วยในการค้นหาสาเหตุของข้อผิดพลาด อย่างไรก็ตาม มีบางครั้งที่ข้อความแสดงข้อผิดพลาดระบุเพียง “406 ไม่ยอมรับ” โดยไม่มีรายละเอียดเพิ่มเติม
ตอนนี้คุณรู้แล้วว่าข้อผิดพลาด “406 ไม่ยอมรับ” คืออะไร และมีลักษณะอย่างไรบน WordPress ลองหาสาเหตุทั่วไปบางประการที่อยู่เบื้องหลัง
เหตุผลเบื้องหลังข้อผิดพลาด “406 ไม่ยอมรับ” ใน WordPress
เมื่อคุณเข้าถึงหน้าเว็บผ่านเบราว์เซอร์ของคุณ (Chrome, Edge, Brave ฯลฯ) หน้าเว็บจะโต้ตอบกับเซิร์ฟเวอร์เพื่อขอไฟล์และเนื้อหาที่จำเป็น
ด้วยการโต้ตอบนี้ เซิร์ฟเวอร์สามารถเรียนรู้สิ่งที่คุณต้องการดู ดังนั้นจึงตอบสนองได้ดีโดยให้ข้อมูลที่เหมาะสมแก่ผู้ใช้
ในช่วงคำขอเริ่มต้น เบราว์เซอร์จะมีส่วนหัว “ยอมรับ” ที่อธิบายประเภทไฟล์ที่สามารถยอมรับได้ ดังนั้น ส่วนหัวจะแจ้งให้เซิร์ฟเวอร์ทราบถึงรูปแบบการส่งไฟล์ที่ต้องการสำหรับการสร้างเว็บไซต์หรือเว็บแอปทั้งหมด
อย่างไรก็ตาม มีบางครั้งที่เซิร์ฟเวอร์ไม่ปฏิบัติตามกฎที่กำหนดโดยไคลเอนต์หรือเบราว์เซอร์ ดังนั้นจึงไม่ส่งเนื้อหาในรูปแบบที่ถูกต้องซึ่งส่งผลให้เกิดข้อผิดพลาด “406 ไม่ยอมรับ” บ่งชี้ว่าเซิร์ฟเวอร์ไม่สามารถจัดส่งข้อมูลที่คาดไว้ได้
ต่อไปนี้เป็นคำอธิบายเชิงลึกเบื้องหลังข้อผิดพลาด “406 ไม่ยอมรับ” ใน WordPress:
ไม่ตรงกันในประเภทเนื้อหา
ข้อผิดพลาด “406 ไม่ยอมรับ” เกิดขึ้นเมื่อเซิร์ฟเวอร์ไม่สามารถจัดหาเนื้อหาที่ร้องขอในรูปแบบที่เหมาะสม รูปแบบควรเข้ากันได้กับ “ประเภทเนื้อหา” ที่ระบุไว้ในส่วนหัวของคำขอ
ตัวอย่างเช่น หากไคลเอ็นต์ร้องขอและต้องการคำตอบ HTML จากเซิร์ฟเวอร์ เซิร์ฟเวอร์จะส่งได้เฉพาะ JSON หรือ XML เท่านั้น ดังนั้นจะนำไปสู่ประเภทเนื้อหาที่ไม่ตรงกันและทำให้เกิดและแสดงข้อผิดพลาด
คำขอของลูกค้ามีส่วนหัว “ยอมรับ” ซึ่งแสดงรายการประเภทสื่อที่ยินดีตอบรับสำหรับการตอบกลับ ดังนั้น ข้อความแสดงข้อผิดพลาดที่ระบุว่า “406 Not Acceptable” จะปรากฏขึ้นหากเซิร์ฟเวอร์ไม่สามารถจัดเตรียมเนื้อหาในรูปแบบสื่อใดๆ ในรายการได้
ข้อความแสดงข้อผิดพลาดที่ระบุว่า “406 ไม่สามารถยอมรับได้” จะปรากฏขึ้นหากเซิร์ฟเวอร์ไม่สามารถจัดเตรียมเนื้อหาในรูปแบบสื่อใดๆ ในรายการได้ นอกจากนี้ยังเกิดขึ้นเมื่อเซิร์ฟเวอร์ไม่ยอมรับรูปแบบสื่อที่ร้องขอหรือหากไม่มีส่วนหัว “ยอมรับ” จากคำขอของไคลเอ็นต์
ค่ากำหนดภาษาไม่ถูกต้อง
ภาษาที่ต้องการสำหรับการตอบกลับจะระบุโดยส่วนหัว “ยอมรับภาษา” ในคำขอของไคลเอ็นต์ ดังนั้น ข้อผิดพลาด “406 ไม่ยอมรับ” จะปรากฏขึ้นหากเซิร์ฟเวอร์ไม่มีเนื้อหาที่ร้องขอซึ่งสามารถเข้าถึงได้ในภาษาใด ๆ ในรายการ
กรณีนี้อาจเกิดขึ้นได้หากเซิร์ฟเวอร์ไม่รองรับภาษาที่ร้องขอ นอกจากนี้ จะเกิดขึ้นหากภาษาที่ลูกค้าต้องการไม่ตรงกับเนื้อหาที่สามารถเข้าถึงได้
ข้อกำหนดชุดอักขระที่ไม่ได้ผล
ชุดอักขระที่คำขอของลูกค้าอาจยอมรับแสดงอยู่ในส่วนหัว “Accept-Charset” ข้อความแสดงข้อผิดพลาดที่มีรหัส “406 ไม่สามารถยอมรับได้” อาจปรากฏขึ้นหากเซิร์ฟเวอร์ไม่สามารถจัดเตรียมเนื้อหาที่ร้องขอในชุดอักขระใดๆ ในรายการ
สิ่งนี้จะเกิดขึ้นหากเซิร์ฟเวอร์ไม่รองรับชุดอักขระที่ร้องขอ นอกจากนี้ยังเกิดขึ้นเมื่อตัวเลือกชุดอักขระของลูกค้าขัดแย้งกับเนื้อหาที่เข้าถึงได้
กฎที่บังคับใช้โดย Mod_Security
Mod_security เป็นโมดูลเซิร์ฟเวอร์ที่เพิ่มความปลอดภัยอีกชั้นหนึ่งโดยใช้กฎบางอย่าง ในขณะเดียวกัน กฎของ mod_security บางข้ออาจเข้มงวดเกินไปและถือว่าคำขอของลูกค้าบางรายการอาจเป็นอันตรายได้
เมื่อคำขอของลูกค้าทริกเกอร์กฎข้อใดข้อหนึ่ง อาจส่งผลให้เกิดข้อผิดพลาด “406 ไม่ยอมรับ”
ธีมหรือปลั๊กอินที่ขัดแย้งกัน
ความขัดแย้งระหว่างธีมหรือปลั๊กอินที่ติดตั้งอาจทำให้เกิดข้อความแสดงข้อผิดพลาด “406 ไม่ยอมรับ” ความเข้ากันไม่ได้ของคอมโพเนนต์เหล่านี้หรือโค้ดที่มีข้อบกพร่องอาจขัดขวางการสร้างเนื้อหาที่เหมาะสม ซึ่งจะส่งผลให้เกิดข้อผิดพลาด
ดังนั้น สิ่งสำคัญคือต้องค้นหาและแก้ไขปลั๊กอินหรือธีมที่เป็นสาเหตุของปัญหาความเข้ากันได้
การกำหนดค่าเซิร์ฟเวอร์ไม่ถูกต้อง
การกำหนดค่าเซิร์ฟเวอร์ที่ผิดพลาดหรือไม่เหมาะสมอาจนำไปสู่ข้อผิดพลาด “406 ไม่ยอมรับ” ประเภทของ MIME ไม่ถูกต้องหรือการตั้งค่าการเจรจาเนื้อหาที่ไม่ถูกต้องเป็นตัวอย่างของกรณีนี้
เบราว์เซอร์อาจขอ MIME บางประเภทจากเซิร์ฟเวอร์เป็นระยะ ตัวอย่างของประเภท MIME ได้แก่ รูปภาพ JPEG รูปแบบวิดีโอบางรูปแบบ และข้อความธรรมดา หากเซิร์ฟเวอร์ไม่สามารถระบุประเภท MIME ที่ร้องขอได้ เช่น รูปภาพ JPEG คุณจะได้รับข้อผิดพลาด 406
ปัญหาการแคช
ด้วยการบันทึกสำเนาของคำตอบที่สร้างไว้ก่อนหน้านี้ การแคชสามารถเพิ่มความเร็วของเว็บไซต์ได้ อย่างไรก็ตาม การตอบกลับแบบแคชอาจส่งผลให้เกิดข้อผิดพลาด “406 หากการตอบกลับล้าสมัย ผิดพลาด หรือล้างไม่ถูกต้อง
คุณต้องแน่ใจว่าปลั๊กอินการแคชและแคชฝั่งเซิร์ฟเวอร์ไม่กีดขวางการส่งเนื้อหา ดังนั้น คุณต้องตรวจสอบและล้างแคชของคุณเป็นระยะเพื่อป้องกันข้อผิดพลาดนี้
ถึงเวลาแก้ไขข้อผิดพลาดแล้ว เนื่องจากคุณได้เรียนรู้เกี่ยวกับสาเหตุที่เป็นไปได้ของข้อผิดพลาด “406 ไม่ยอมรับ”
มีหลายวิธีในการแก้ไขข้อผิดพลาด “406 ไม่ยอมรับ” ใน WordPress แต่เราจะอธิบายวิธีที่ง่ายที่สุดในการแก้ปัญหา แต่ก่อนที่จะทำการเปลี่ยนแปลงใดๆ กับไซต์ของคุณ คุณต้องสำรองข้อมูลทั้งไซต์และฐานข้อมูลของไซต์
การใช้ปลั๊กอิน
คุณสามารถแก้ไขข้อผิดพลาด “406 ไม่ยอมรับ” ได้อย่างง่ายดายโดยการเข้าถึงไฟล์ .htaccess ของไซต์ของคุณ เพียงทำตามขั้นตอนต่อไปนี้:
<IfModule mod_security.c> SecFilterEngineOff SecFilterScanPOSTOff </IfModule>
ตอนนี้เราไปยังขั้นตอนอื่นในการแก้ไขข้อผิดพลาด 406 จาก WordPress
ขณะแก้ไขปัญหาข้อผิดพลาด “406 ไม่ยอมรับ” ใน WordPress คุณสามารถตรวจสอบส่วนหัวของคำขอได้ นี่คือวิธีการทีละขั้นตอน:
ตรวจสอบความเข้ากันได้ของปลั๊กอินและธีม
ในการแก้ไขข้อผิดพลาด “406 ไม่ยอมรับ” คุณต้องตรวจสอบปัญหาความเข้ากันได้ของธีมและปลั๊กอินของคุณด้วย
ตรวจสอบการกำหนดค่าเซิร์ฟเวอร์ของคุณ
คุณต้องแน่ใจว่าเซิร์ฟเวอร์ของคุณได้รับการกำหนดค่าให้ตรงตามข้อกำหนดของไซต์ WordPress ของคุณ เพียงทำตามขั้นตอนต่อไปนี้:
ล้างแคชของไซต์ของคุณ
การล้างแคชเป็นขั้นตอนสำคัญในการแก้ไขปัญหาข้อผิดพลาด “406 ไม่ยอมรับ” นี่คือขั้นตอนที่คุณสามารถปฏิบัติตาม:
ความกังวลเกี่ยวกับเครือข่ายการจัดส่งเนื้อหา
หากคุณกำลังใช้ CDN เพื่อเพิ่มประสิทธิภาพไซต์ของคุณ ให้ตรวจสอบการกำหนดค่า คุณต้องแน่ใจว่าบริการนั้นให้บริการไฟล์เวอร์ชันล่าสุดบนไซต์ของคุณ นี่คือขั้นตอนที่คุณสามารถปฏิบัติตามได้:
- ล้างแคชของ CDN เพื่อให้แน่ใจว่าให้บริการไซต์ WordPress เวอร์ชันล่าสุด
- ตรวจสอบว่ามีการกำหนดค่า CDN อย่างถูกต้องเพื่อส่งเนื้อหาที่ต้องการ
- ตรวจสอบข้อขัดแย้งระหว่างไซต์ WordPress ของคุณกับ CDN
ทดสอบอุปกรณ์และเบราว์เซอร์ต่างๆ
หากปัญหาเฉพาะเบราว์เซอร์ทำให้เกิดข้อผิดพลาด “406 ไม่ยอมรับ” ให้ทำตามขั้นตอนเหล่านี้เพื่อแก้ไข:
ขอความช่วยเหลือจากผู้เชี่ยวชาญ
หากคุณได้ลองใช้วิธีที่กล่าวมาทั้งหมดแล้วและยังไม่สามารถแก้ไขข้อผิดพลาดได้ ให้ทำตามขั้นตอนเหล่านี้:
แนวทางปฏิบัติป้องกันที่ดีที่สุดสำหรับข้อผิดพลาด “406 ไม่ยอมรับ”
ข้อผิดพลาด 406 อาจเกิดขึ้นได้ในหลายกรณี แต่คุณสามารถแก้ไขได้ด้วยมาตรการป้องกันเล็กน้อย ดังนั้น คุณต้องใช้แนวทางเชิงรุกในการดูแลไซต์ของคุณและปรับใช้การเพิ่มประสิทธิภาพ
ต่อไปนี้คือมาตรการป้องกันที่คุณสามารถทำได้เพื่อลดโอกาสที่จะพบข้อผิดพลาด “406 ไม่ยอมรับ”:
ความคิดสุดท้าย
ขณะเรียกดูเว็บไซต์ การเผชิญกับข้อความ “406 ไม่ยอมรับ” อาจสร้างความรำคาญให้กับผู้เยี่ยมชมได้ นอกจากนี้ยังอาจทำให้เจ้าของเว็บไซต์หรือผู้ให้บริการรู้สึกลำบากใจเป็นพิเศษ ดังนั้น เราได้ให้แนวทางที่ดีที่สุดในคู่มือนี้เพื่อแก้ไขข้อผิดพลาด “406 ไม่ยอมรับ”
แม้ว่าข้อผิดพลาด 406 จะไม่ใช่ปัญหา WordPress ที่พบบ่อยที่สุด แต่คุณควรระมัดระวังในเรื่องนี้
ข้อผิดพลาดนี้อาจหลีกเลี่ยงได้โดยการแก้ไขปัญหาที่เรากล่าวถึง เมื่อแก้ไขข้อผิดพลาดแล้ว คุณจะสามารถมอบประสบการณ์การท่องเว็บที่คล่องตัวยิ่งขึ้นแก่ผู้ใช้ของคุณ และไม่สูญเสียผู้เยี่ยมชม
คุณยังสามารถสำรวจวิธีการแก้ไขข้อผิดพลาด “ไม่สามารถเปิดสตรีมไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว” ใน WordPress