ERR_TOO_MANY_REDIRECTS เกิดขึ้นเมื่อเบราว์เซอร์ถูกส่งต่อจากที่อยู่หนึ่งไปอีกที่อยู่หนึ่งซ้ำไปมาจนถึงขีดจำกัด แล้วมันตัดสินใจหยุดเอง เบราว์เซอร์ส่วนใหญ่ยอมตามไปราว 20 ครั้งก่อนจะยอมแพ้และขึ้น error นี้
ข่าวดีคือเซิร์ฟเวอร์ของคุณไม่ได้พัง ไฟล์ยังอยู่ครบ ฐานข้อมูลยังทำงานปกติ ปัญหาอยู่ที่มีกฎ redirect สองชุดกำลังเถียงกันอยู่ และแต่ละชุดก็คิดว่าตัวเองถูก งานของเราคือหาว่าใครเถียงกับใคร
ทำไมถึงวนลูป: หลักการที่ต้องเข้าใจก่อน
ลองนึกภาพว่ามีกฎสองข้อทำงานพร้อมกัน กฎแรกบอกว่า "ถ้ามาแบบ http ให้ส่งไป https" ส่วนกฎที่สองบอกว่า "ถ้ามาแบบ https ให้ส่งไป http" ผลคือผู้ใช้จะถูกโยนไปมาระหว่างสองที่อยู่นี้ตลอดไป
ในความเป็นจริงกฎทั้งสองมักไม่ได้อยู่ที่เดียวกัน อันหนึ่งอาจอยู่ที่ CDN อีกอันอยู่ในไฟล์ตั้งค่าของเว็บเซิร์ฟเวอร์ หรืออยู่ในระบบจัดการเนื้อหา ทำให้ตอนไล่หาต้องดูหลายชั้น ไม่ใช่ที่เดียว
สาเหตุอันดับหนึ่ง: ตั้ง SSL บน Cloudflare เป็น Flexible
นี่คือต้นเหตุที่พบบ่อยที่สุดของ error นี้ และเป็นข้อที่บทความภาษาไทยส่วนใหญ่ไม่พูดถึง โหมด Flexible หมายความว่า Cloudflare จะคุยกับผู้ใช้ด้วย https แต่คุยกับเซิร์ฟเวอร์ของคุณด้วย http
ทีนี้ถ้าเซิร์ฟเวอร์ของคุณมีกฎบังคับ https อยู่ด้วย มันจะเห็นคำขอที่เข้ามาเป็น http แล้วสั่งส่งกลับไปยัง https ซึ่ง Cloudflare ก็จะแปลงกลับเป็น http อีก วนแบบนี้ไม่รู้จบ
วิธีแก้คือเปลี่ยนโหมด SSL เป็น Full หรือ Full (Strict) ซึ่งจะทำให้ Cloudflare คุยกับเซิร์ฟเวอร์ของคุณด้วย https เหมือนกัน ทั้งนี้เซิร์ฟเวอร์ต้องมีใบรับรอง SSL ติดตั้งอยู่จริงก่อน ไม่อย่างนั้นจะเจอ error ตัวอื่นแทน
ถ้ายังไม่มีใบรับรองบนเซิร์ฟเวอร์ ต้องติดตั้งก่อนถึงจะเปลี่ยนเป็น Full ได้ อ่านเรื่องประเภทใบรับรองได้ที่ SSL คืออะไร และดูภาพรวมการทำงานของ CDN ที่ Cloudflare คืออะไร
| โหมด SSL | Cloudflare → เซิร์ฟเวอร์คุณ | เสี่ยงวนลูปไหม |
|---|---|---|
| Flexible | http | เสี่ยงสูงมาก ถ้าเซิร์ฟเวอร์บังคับ https |
| Full | https (ไม่ตรวจใบรับรอง) | ปลอดภัย |
| Full (Strict) | https (ตรวจใบรับรองด้วย) | ปลอดภัยที่สุด แนะนำ |
สาเหตุที่พบบ่อยรองลงมา
- ตั้งค่าที่อยู่เว็บใน WordPress ไม่ตรงกับที่ใช้จริง — ช่อง WordPress Address กับ Site Address ต้องตรงกันทั้งเรื่อง http/https และเรื่องมี www หรือไม่มี ถ้าตั้งเป็น http แต่มีกฎบังคับ https อยู่ จะวนทันที
- กฎ www กับ non-www ขัดกัน — ที่หนึ่งบังคับให้เติม www อีกที่บังคับให้ตัด www ออก
- มีกฎ redirect ซ้ำซ้อนในไฟล์ตั้งค่า — พบบ่อยเมื่อเพิ่มกฎใหม่ทับของเดิมโดยไม่ได้ลบของเก่า
- ปลั๊กอินบังคับ https ทำงานทับกับกฎที่มีอยู่แล้วในเซิร์ฟเวอร์ — ทั้งสองฝ่ายพยายามทำงานเดียวกัน
- ปลั๊กอินแคชเก็บหน้าที่มี redirect ไว้ แล้วเสิร์ฟซ้ำ — แม้แก้ต้นเหตุแล้วก็ยังวนอยู่จนกว่าจะล้างแคช
- คุกกี้เสียในเบราว์เซอร์ผู้ใช้ — พบในระบบที่มีล็อกอิน เมื่อคุกกี้เซสชันเพี้ยน ระบบจะส่งไปหน้าล็อกอินซ้ำ ๆ ทั้งที่ล็อกอินแล้ว
ไล่แก้ตามลำดับนี้
- 1เปิดในโหมดไม่ระบุตัวตนก่อน ถ้าปกติ ให้ล้างคุกกี้และแคชของเว็บนั้นในเบราว์เซอร์ปกติ แล้วจบ ไม่ต้องไปยุ่งกับเซิร์ฟเวอร์เลย
- 2ถ้าใช้ Cloudflare ให้ไปดูโหมด SSL เป็นอันดับแรก ถ้าเป็น Flexible ให้เปลี่ยนเป็น Full แล้วลองใหม่ทันที ข้อนี้แก้ปัญหาได้เกินครึ่งของเคสทั้งหมด
- 3ตรวจที่อยู่เว็บในระบบจัดการเนื้อหาว่าตรงกับที่ใช้จริงทุกตัวอักษร ทั้ง http/https และ www
- 4ปิดปลั๊กอินที่เกี่ยวกับ https, redirect และแคชทั้งหมดชั่วคราว ถ้าหายให้เปิดกลับทีละตัวเพื่อหาตัวการ
- 5เปลี่ยนชื่อไฟล์ตั้งค่าอย่าง .htaccess ชั่วคราวแล้วลองใหม่ ถ้าหาย แปลว่ากฎในไฟล์นั้นคือต้นเหตุ ให้ไล่อ่านกฎทีละบรรทัด
- 6ล้างแคชทุกชั้นหลังแก้เสร็จ ทั้งแคชในเว็บ แคชของ CDN และแคชเบราว์เซอร์ มิฉะนั้นจะเข้าใจผิดว่ายังไม่หาย
วิธีดูว่ามัน redirect ไปไหนบ้าง
แทนที่จะเดา ให้ดูเส้นทางจริงว่าเบราว์เซอร์ถูกส่งไปที่ไหนบ้าง เปิดเครื่องมือสำหรับนักพัฒนาในเบราว์เซอร์ ไปที่แท็บ Network แล้วโหลดหน้าใหม่ คุณจะเห็นรายการคำขอเรียงกันพร้อมรหัส 301 หรือ 302 และช่อง Location ที่บอกว่าถูกส่งไปไหนต่อ
เมื่อเห็นว่า A ส่งไป B และ B ส่งกลับมา A คุณจะรู้ทันทีว่าต้องไปแก้กฎข้อไหน วิธีนี้ใช้เวลาไม่ถึงนาทีและตัดการเดาออกไปทั้งหมด
ย้ายมาโฮสต์ที่ตั้ง SSL และ redirect ให้ถูกตั้งแต่แรก
Web Hosting ของ Plusweb ใช้ DirectAdmin จัดการใบรับรองและกฎ redirect ได้ในไม่กี่คลิก พร้อมทีมงานคนไทยดูแล 24 ชม.
คำถามที่พบบ่อย
เจอ error นี้ในฐานะผู้เข้าชม แก้เองได้ไหม
ลองได้ 2 อย่างคือล้างคุกกี้กับแคชของเว็บนั้น และลองเปิดในโหมดไม่ระบุตัวตน ถ้ายังไม่หายแปลว่าปัญหาอยู่ที่ฝั่งเว็บซึ่งคุณแก้เองไม่ได้ ต้องรอเจ้าของเว็บแก้
ทำไมเว็บใช้งานได้ปกติมาตลอดแล้วอยู่ดี ๆ ก็วนลูป
มักเกิดหลังมีการเปลี่ยนแปลงบางอย่าง เช่น เพิ่งเปิดใช้ Cloudflare เพิ่งติดตั้ง SSL เพิ่งเปิดปลั๊กอินบังคับ https หรือเพิ่งย้ายโฮสต์ ลองย้อนดูว่าทำอะไรไปก่อนหน้านั้น เพราะกฎใหม่มักไปชนกับกฎเก่าที่มีอยู่แล้ว
เปลี่ยนจาก Flexible เป็น Full แล้วเว็บขึ้น error อื่นแทน
แปลว่าเซิร์ฟเวอร์ของคุณยังไม่มีใบรับรอง SSL ติดตั้งอยู่ ต้องติดตั้งก่อนถึงจะใช้โหมด Full ได้ ระหว่างนี้อย่ากลับไปใช้ Flexible เพราะจะวนลูปเหมือนเดิม ให้ติดตั้งใบรับรองบนเซิร์ฟเวอร์แล้วค่อยเปลี่ยนโหมด
error นี้กระทบ SEO ไหม
กระทบถ้าปล่อยไว้นาน เพราะบอตของ Google ก็เจอลูปเหมือนกันและเก็บเนื้อหาไม่ได้เลย หน้าที่เก็บไม่ได้จะค่อย ๆ หลุดจากดัชนี ถ้าแก้ภายในไม่กี่ชั่วโมงถึงหนึ่งวันมักไม่มีผลถาวร
แก้แล้วแต่ยังวนอยู่ ทั้งที่แน่ใจว่าแก้ถูกจุด
เกือบทุกครั้งคือเรื่องแคช ให้ล้างแคชทั้งสามชั้น คือแคชในตัวเว็บหรือปลั๊กอินแคช แคชของ CDN และแคชกับคุกกี้ในเบราว์เซอร์ แล้วทดสอบใหม่ในโหมดไม่ระบุตัวตน
GUIDES
บทความที่เกี่ยวข้อง
อ่านต่อในหัวข้อใกล้เคียง

SSL คืออะไร? ทำไมเว็บทุกวันนี้ต้องมี + วิธีติดตั้ง 2026
รวมทุกเรื่อง SSL ที่เจ้าของเว็บต้องรู้ — SSL คืออะไร HTTP กับ HTTPS ต่างกันยังไง ทำไมเว็บต้องมี SSL ทั้งด้านความปลอดภัย ความน่าเชื่อถือ และ SEO พร้อมประเภท SSL และวิธีติดตั้งแบบฟรีและแบบซื้อ
อ่านต่อCloudflare คืออะไร? เข้าใจใน 10 นาที พร้อมวิธีใช้กับ VPS
Cloudflare คือบริการที่มาอยู่ตรงกลางระหว่างผู้ใช้กับเซิร์ฟเวอร์ของเรา ทำหน้าที่ทั้ง DNS, CDN, ป้องกันการโจมตี และ SSL อ่านให้เข้าใจว่ามันช่วยอะไรจริง ไม่ช่วยอะไร และต่อกับ VPS ยังไง
อ่านต่อERR_CONNECTION_TIMED_OUT คืออะไร? แยกให้ออกว่าปัญหาอยู่ฝั่งไหน
error ตัวนี้ต่างจาก error ของเว็บทั่วไป เพราะมันเกิดก่อนที่เบราว์เซอร์จะได้คุยกับเซิร์ฟเวอร์ด้วยซ้ำ บทความนี้สอนวิธีแยกใน 2 นาทีว่าปัญหาอยู่ที่เครื่องคุณ ที่เน็ต หรือที่ตัวเว็บเอง
อ่านต่อ