ข้อผิดพลาด "414 Request URI Too Long" คืออะไรและจะแก้ไขได้อย่างไร (สำหรับทั้งไซต์ที่เข้ารหัสและ WordPress)

Nkenganyi Clovis บทช่วยสอน WordPress Sep 11, 2023

ข้อผิดพลาด 414 Request URI Too Long คือรหัสสถานะ HTTP ที่ระบุว่าเซิร์ฟเวอร์ไม่สามารถดำเนินการตามคำขอได้ เนื่องจาก URI (Uniform Resource Identifier) ​​ยาวเกินไป

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

ตัวอย่างเช่น นี่คือ URI ที่มีสตริงการสืบค้น:

https://example.com/search?q=what+is+414+request+uri+too+long+error

สร้างเว็บไซต์ที่น่าทึ่ง

ด้วย Elementor ตัวสร้างหน้าฟรีที่ดีที่สุด

เริ่มเลย

สตริงการสืบค้นเริ่มต้นด้วยเครื่องหมายคำถาม (?) และมีพารามิเตอร์ q ที่มีค่า what+is+414+request+uri+too+long+error

โปรดทราบว่ามีความแตกต่างระหว่าง URI และ URL URI หรือ Uniform Resource Identifier อาจเป็นชื่อ ตำแหน่ง หรือทั้งสองอย่างของทรัพยากร ในทางกลับกัน URL หรือ Uniform Resource Locator สามารถเป็นที่ตั้งของทรัพยากรได้เท่านั้น

การกำหนดค่าเซิร์ฟเวอร์และข้อกำหนดเบราว์เซอร์จำกัดความยาวของ URI เซิร์ฟเวอร์และเบราว์เซอร์ที่แตกต่างกันอาจมีข้อจำกัดที่แตกต่างกัน อย่างไรก็ตาม ความยาว URI โดยเฉลี่ยจะอยู่ที่ประมาณ 2,000 อักขระ หาก URI ยาวเกินขีดจำกัดนี้ เซิร์ฟเวอร์อาจส่งข้อผิดพลาด 414 เพื่อเตือนว่าไม่สามารถยอมรับคำขอที่ยาวดังกล่าวได้

อะไรทำให้เกิดข้อผิดพลาด URI คำขอ 414 ยาวเกินไป

มีสาเหตุที่เป็นไปได้หลายประการสำหรับข้อผิดพลาด 414 Request URI Too Long บางส่วนของพวกเขาคือ:

1. การแปลงคำขอ POST ด้วยสตริงการสืบค้นที่มีความยาวเป็นคำขอ GET :

คำขอ POST คือคำขอ HTTP ที่ส่งข้อมูลไปยังเซิร์ฟเวอร์ในเนื้อหาข้อความ ในขณะที่คำขอ GET จะส่งข้อมูลใน URI คำขอ POST อาจถูกแปลงเป็นคำขอ GET เป็นครั้งคราวโดยเบราว์เซอร์หรือพร็อกซีตัวกลางหรือไฟร์วอลล์ ซึ่งอาจส่งผลให้สตริงการสืบค้นยาวเกินขีดจำกัด URI

2. การใช้ปลั๊กอินหรือธีมที่สร้าง URI ที่มีความยาว:

ปลั๊กอินหรือธีมบางตัวอาจใช้ URI แบบยาวเพื่อทำหน้าที่เฉพาะหรือแสดงคุณสมบัติเฉพาะบนเว็บไซต์ WordPress ของคุณ ตัวอย่างเช่น ปลั๊กอินบางตัวอาจใช้ URI เพื่อจัดเก็บการตั้งค่า การตั้งค่า หรือข้อมูลของผู้ใช้ บางธีมอาจใช้ URI เพื่อสร้างโครงร่าง เมนู หรือวิดเจ็ตแบบไดนามิก หาก URI เหล่านี้มีอาร์กิวเมนต์หรือค่ามากเกินไป อาจเกินขีดจำกัด

3. การสร้างลูปการเปลี่ยนเส้นทาง:

การเปลี่ยนเส้นทางเป็นวิธีการย้ายผู้ใช้จาก URI หนึ่งไปยังอีก URI การเปลี่ยนเส้นทางบางครั้งอาจชี้ไปยังการเปลี่ยนเส้นทางอื่น ส่งผลให้เกิดการวนซ้ำ มีการวนซ้ำการเปลี่ยนเส้นทางหาก https://example.com/a เปลี่ยนเส้นทางไปที่ https://example.com/b และ https://example.com/b เปลี่ยนเส้นทางไปที่ https://example.com/a

เมื่อการเปลี่ยนเส้นทางเกิดขึ้น สตริงการสืบค้นอาจถูกผนวกเข้ากับ URI ใหม่ โดยขยายให้ยาวขึ้นจนกว่าจะถึงขีดจำกัด

4. เซิร์ฟเวอร์กำลังถูกโจมตี:

ผู้ใช้ที่ประสงค์ร้ายอาจส่ง URI ที่ยาวมากไปยังเซิร์ฟเวอร์โดยตั้งใจเพื่อทำให้เกิดข้อผิดพลาดหรือใช้ประโยชน์จากช่องโหว่ นี่อาจเป็นส่วนหนึ่งของการปฏิเสธการให้บริการหรือการโจมตีแบบแทรกแซง

วิธีแก้ไขข้อผิดพลาด 414 Request URI Too Long

ก่อนที่เราจะดำเนินการ เราขอแนะนำให้คุณสร้างข้อมูลสำรอง WordPress เนื่องจากการแก้ไขปัญหา 414 จำเป็นต้องแก้ไขไฟล์การกำหนดค่าเว็บไซต์ ในกรณีที่มีบางอย่างผิดพลาด คุณจะมีสำเนาสำรองของไซต์ของคุณพร้อมสำหรับการกู้คืน

1. ตรวจสอบว่าเว็บไซต์ของคุณขับเคลื่อนโดย Apache หรือ Nginx

ขั้นแรก คุณต้องกำหนดประเภทของเซิร์ฟเวอร์ที่เว็บไซต์ WordPress ของคุณใช้ เซิร์ฟเวอร์มีสองประเภทหลัก: Apache และ Nginx

การเปิดไซต์ของคุณในเบราว์เซอร์เป็นวิธีที่ตรงไปตรงมาในการบรรลุเป้าหมายนี้ หลังจากนั้น คลิกขวาที่หน้าแรกแล้วเลือกตัวเลือก 'ตรวจสอบ' หรือกด ปุ่ม F12 บนแป้นพิมพ์

จากนั้นไปที่ด้านบนแล้วเลือกแท็บ "เครือข่าย"

ตอนนี้คุณสามารถเลือกองค์ประกอบใดก็ได้จากคอลัมน์ชื่อ หลังจากนั้น ให้ลงไปที่ส่วน 'ส่วนหัวของการตอบกลับ' และดูรายละเอียด 'เซิร์ฟเวอร์'

สิ่งนี้จะบอกคุณว่าไซต์ของคุณขับเคลื่อนโดย Nginx หรือ Apache

หากคุณยังไม่ชัดเจนว่าควรใช้เซิร์ฟเวอร์ประเภทใด โปรดติดต่อผู้ให้บริการโฮสติ้ง WordPress ของคุณเพื่อขอข้อมูลเพิ่มเติม

หลังจากระบุประเภทเซิร์ฟเวอร์แล้ว เรามาดูวิธีแก้ไข URI คำขอ 414 ที่มีปัญหากับ Apache และ Nginx ที่ยาวเกินไป

การแก้ไขข้อผิดพลาด 414 คำขอ URI ยาวเกินไปใน Nginx

หากต้องการเข้าถึงไฟล์การกำหนดค่าเว็บไซต์ คุณจะต้องมี FTP หรือไคลเอนต์โปรโตคอลการถ่ายโอนไฟล์ก่อน

มีไคลเอนต์ FTP มากมายให้เลือก Filezilla จะถูกใช้ในบทเรียนนี้

เมื่อเข้าสู่ระบบแล้ว คุณต้องดาวน์โหลดไฟล์ 'nginx.conf' คุณสามารถเข้าถึงได้โดยไปที่ตำแหน่งนี้: /etc/nginx/nginx.conf

หลังจากที่คุณพบไฟล์แล้ว ให้ดาวน์โหลดไฟล์ลงในคอมพิวเตอร์ของคุณแล้วเปิดด้วยซอฟต์แวร์ Notepad

คุณสามารถค้นหาการตั้งค่า large_client_header_buffers 4 8K ได้จากที่นี่ หากไม่มีอยู่ ให้วางไว้ที่ท้ายไฟล์

จะมีค่าสองชุด หนึ่งชุดสำหรับแต่ละหมายเลขและขนาด เพียงเปลี่ยนขนาดไฟล์จาก 8K เป็น 128K สิ่งนี้จะทำให้ URI ยาวขึ้นและอนุญาตให้เซิร์ฟเวอร์ไซต์ประมวลผล URL ที่ยาวได้

เมื่อเสร็จแล้ว ให้บันทึกไฟล์ข้อความและอัปโหลดใหม่ไปยังเว็บไซต์ของคุณผ่านทางไคลเอนต์ FTP

การแก้ไขข้อผิดพลาด 414 Request URI Too Long ใน Apache

หากคุณใช้ Apache เป็นเซิร์ฟเวอร์ ขั้นตอนจะคล้ายกับขั้นตอนของ Nginx หากต้องการเข้าถึงไฟล์เว็บไซต์ คุณจะต้องมีไคลเอ็นต์ FTP ก่อน

หลังจากที่คุณเข้าสู่ระบบแล้ว ให้มองหาไฟล์ 'apache2.conf' ใช้ไคลเอนต์ FTP นำทางไปยังตำแหน่งต่อไปนี้: /etc/apache2/apache2.conf

หลังจากนั้นให้ดาวน์โหลดไฟล์และเปิดในซอฟต์แวร์ Notepad

หลังจากนั้น ให้มองหาการตั้งค่า LimitRequestLine 128000 หากคุณไม่เห็น เพียงเพิ่มหนึ่งรายการต่อท้ายไฟล์

โดยทั่วไป LimitRequestLine จะตั้งค่าเป็น 128000 อย่างไรก็ตาม คุณสามารถเพิ่มเป็น 256000 หรือสูงกว่าเพื่อกำจัดข้อผิดพลาด 414 เพียงตรวจสอบให้แน่ใจว่าตัวเลขที่คุณป้อนเป็นจำนวนทวีคูณของ 2

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

2. การอัปเดตหรือปิดใช้งานปลั๊กอินหรือธีมที่สร้าง URI แบบยาว

หากคุณใช้ปลั๊กอินหรือธีมบนไซต์ WordPress ที่สร้าง URI ที่ยาว คุณควรตรวจสอบการอัปเดตที่อาจแก้ไขปัญหาได้ ถ้าไม่เช่นนั้น คุณอาจต้องพิจารณาปิดการใช้งานชั่วคราวหรือถาวรจนกว่าคุณจะพบวิธีแก้ปัญหาที่ดีกว่า

3. ติดต่อผู้ให้บริการโฮสติ้งหรือผู้ดูแลเว็บไซต์ของคุณ

หากคุณไม่มีเซิร์ฟเวอร์ของตัวเองแต่พบปัญหานี้บนเว็บไซต์ WordPress ของคุณหรือเว็บไซต์อื่นที่คุณกำลังเยี่ยมชม คุณควรติดต่อผู้ให้บริการโฮสติ้งหรือผู้ดูแลเว็บไซต์ และขอให้พวกเขาเพิ่มการจำกัดความยาว URI บนเซิร์ฟเวอร์ของพวกเขา

บทสรุป

ฉันหวังว่าโพสต์บนบล็อกนี้จะให้ความกระจ่างว่าข้อผิดพลาด 414 Request URI Too Long คืออะไร และจะแก้ไขอย่างไรบนเว็บไซต์ WordPress ของคุณ

Divi WordPress Theme