بلاگ ابرینا

داستان خطای ERR_TOO_MANY_REDIRECTS چیست؟

اگر همین الان سایت شما با خطای مرورگر مبنی بر «ریدایرکت‌های بیش‌ازحد» باز نمی‌شود، دلیل اصلی آن تضاد در تنظیمات امنیتی (SSL) است. این مشکل زمانی رخ می‌دهد که کلودفلر روی حالت Flexible SSL تنظیم شده باشد، اما وردپرس یا هاست شما اصرار داشته باشد که سایت فقط با گواهینامه امن (HTTPS) باز شود. نتیجه؟ یک حلقه بی‌نهایت از تغییر مسیرها! برای حل سریع این مشکل، کافی است وارد پنل کلودفلر شوید، به بخش SSL/TLS بروید و تنظیمات را از حالت Flexible روی Full یا Full (Strict) قرار دهید. در این مقاله جامع، صفر تا صد رفع مشکل err_too_many_redirects در وردپرس کلودفلر، اصلاح تنظیمات دیتابیس و نحوه سازگاری بی‌نقص کلودفلر با زیرساخت‌های استاندارد مانند سرورهای ابرینا را با هم و به‌صورت تصویری یاد می‌گیریم.

مشکل err_too_many_redirects در وردپرس کلودفلر

تصور کنید یک روز عالی را شروع کرده‌اید، همه‌چیز در کسب‌وکار آنلاین شما خوب پیش می‌رود و تصمیم می‌گیرید برای افزایش سرعت و امنیت، سایت وردپرسی خود را به شبکه قدرتمند کلودفلر (Cloudflare) متصل کنید. تنظیمات را انجام می‌دهید، اما به محض اینکه آدرس سایت را در مرورگر تایپ می‌کنید، به جای دیدن سایت زیبایتان، مرورگر یک صفحه خاکستری با این پیام به شما نشان می‌دهد:

  • در مرورگر کروم: ERR_TOO_MANY_REDIRECTS (یا This webpage has a redirect loop)
  • در مرورگر فایرفاکس: The page isn’t redirecting properly
  • در مرورگر سافاری: Safari can’t open the page because too many redirects occurred

دیدن این خطا ممکن است در نگاه اول شما را به وحشت بیندازد؛ چون سایت کاملاً از دسترس خارج شده است! اما یک خبر خوب برای شما دارم: سایت شما هک نشده، دیتابیس شما سالم است و کدهایتان هیچ مشکلی ندارند. شما صرفاً در یک تله ترافیکی یا یک «سوءتفاهم امنیتی» بین سرور سایت و کلودفلر گیر افتاده‌اید.

در این مقاله، قرار است بدون کلمات پیچیده و گیج‌کننده، دقیقاً بفهمیم این سوءتفاهم از کجا نشأت می‌گیرد و چگونه با چند کلیک ساده، رفع مشکل err_too_many_redirects در وردپرس کلودفلر را برای همیشه انجام دهیم.

حلقه ریدایرکت (Redirect Loop) چیست و چرا اتفاق می‌افتد؟

حلقه ریدایرکت چطوریه؟

برای اینکه دیگر هیچ‌وقت با مشکل err_too_many_redirects در وردپرس کلودفلر غافلگیر نشوید، بیایید منطق این مشکل را یک بار برای همیشه و به ساده‌ترین شکل ممکن یاد بگیریم.

وقتی شما سایتتان را به کلودفلر متصل می‌کنید، کلودفلر مانند یک بادیگارد یا یک واسطه بین کاربران و سرور اصلی سایت شما (مثلاً هاست ابرینا) قرار می‌گیرد. حالا بیایید ببینیم سناریوی ایجاد خطا چطور رقم می‌خورد:

  1. کاربر آدرس سایت شما را وارد می‌کند.
  2. کلودفلر درخواست را می‌گیرد و می‌بیند تنظیمات SSL شما روی حالت Flexible (انعطاف‌پذیر) است. حالت Flexible یعنی کلودفلر ارتباط با کاربر را امن (HTTPS) می‌کند، اما برای صحبت با سرورِ هاست شما، از مسیر ناامن و بدون رمزنگاری (HTTP) استفاده می‌کند.
  3. بنابراین، کلودفلر یک درخواست HTTP (بدون S) به سمت هاست شما می‌فرستد.
  4. از طرف دیگر، شما روی هاست خود یک گواهینامه SSL رایگان و فعال دارید و وردپرس را مجبور کرده‌اید که فقط و فقط با HTTPS باز شود.
  5. هاست شما درخواست کلودفلر را می‌بیند و می‌گوید: «من HTTP قبول نمی‌کنم! لطفاً برگرد و با HTTPS بیا.» (یک ریدایرکت ایجاد می‌کند).
  6. کلودفلر درخواست را دوباره می‌گیرد و چون تنظیماتش هنوز روی Flexible است، دوباره با لجاجت یک درخواست HTTP می‌فرستد!

نتیجه؟ کلودفلر و سرور هاست شما مانند دو بازیکن پینگ‌پنگ، درخواست کاربر را با سرعت نور به سمت یکدیگر پرتاب می‌کنند! مرورگر کاربر که می‌بیند این رفت‌وآمد پایانی ندارد، خسته شده و خطای ERR_TOO_MANY_REDIRECTS را صادر می‌کند تا کامپیوتر یا موبایل کاربر هنگ نکند.

جدول مقایسه حالت‌های SSL در کلودفلر (راز حل مشکل)

برای درک بهتر، بیایید گزینه‌های بخش امنیتی کلودفلر را با هم مرور کنیم. این جدول به شما نشان می‌دهد که چرا حالت Flexible قاتل سایت‌های وردپرسی است:

حالت SSL در کلودفلراین حالت دقیقاً چه کار می‌کند؟نتیجه آن برای سایت وردپرسی شما
Off (خاموش)هیچ رمزنگاری صورت نمی‌گیرد. سایت با HTTP باز می‌شود.بسیار خطرناک! مرورگرها به سایت شما برچسب “Not Secure” می‌زنند.
Flexible (انعطاف‌پذیر)ارتباط کاربر با کلودفلر امن است، ارتباط کلودفلر با سرور ناامن است.عامل اصلی خطای ERR_TOO_MANY_REDIRECTS.
Full (کامل)ارتباط در تمام مسیرها امن (HTTPS) است. کلودفلر سخت‌گیری زیادی روی گواهینامه سرور ندارد.بهترین حالت برای اکثر هاست‌ها. مشکل ریدایرکت را حل می‌کند.
Full (Strict)ارتباط کاملاً امن است و گواهینامه SSL سرور باید کاملاً معتبر و تاییدشده (Valid) باشد.عالی و ایمن. ایده‌آل برای سرورهای استاندارد مانند سرورهای ابرینا.

آموزش گام‌به‌گام برای رفع مشکل سایت

حالا که دقیقاً می‌دانیم درد از کجاست، وقت آن است که نسخه درمان را بپیچیم. این مراحل را دقیقاً به همین ترتیب انجام دهید تا سایتتان در کمتر از چند دقیقه بالا بیاید:

گام اول: اصلاح تنظیمات SSL/TLS در پنل کلودفلر (مهم‌ترین قدم)

نحوه فعال کردن تب Full (Strict)

در ۹۵ درصد مواقع، مشکل err_too_many_redirects در وردپرس کلودفلر فقط با همین یک قدم به طور کامل حل می‌شود.

  1. وارد حساب کاربری خود در سایت Cloudflare شوید.
  2. از لیست دامنه ها، روی سایتی که دچار مشکل شده است کلیک کنید.
  3. از منوی سمت چپ، روی گزینه SSL/TLS و سپس بخش Overview کلیک کنید.
  4. در این صفحه، متوجه می‌شوید که تنظیمات رمزنگاری روی حالت Flexible قرار دارد.
  5. کافی است این گزینه را تغییر داده و روی Full یا Full (Strict) تنظیم کنید.

نکته آموزشی مهم: اگر روی هاست شما گواهینامه رایگان Let’s Encrypt یا AutoSSL فعال است (که در هاستینگ‌های باکیفیتی مثل ابرینا به صورت خودکار فعال می‌شود)، حتماً گزینه Full (Strict) را انتخاب کنید. این کار بالاترین سطح امنیت را بدون ایجاد حلقه ریدایرکت برای شما به ارمغان می‌آورد.

در این مقاله : تفاوت ssl رایگان و ssl غیر رایگان(پولی) را بدانید

گام دوم: بررسی آدرس سایت در دیتابیس وردپرس

اگر قدم اول را انجام دادید اما مشکل err_too_many_redirects در وردپرس کلودفلر حل نشد، احتمالاً آدرس سایت در تنظیمات وردپرس به درستی با HTTPS تنظیم نشده است. از آنجایی که پیشخوان وردپرس باز نمی‌شود، باید این کار را از طریق هاست انجام دهیم:

  1. وارد کنترل‌پنل هاست خود (سی‌پنل یا دایرکت‌ادمین) شوید.
  2. به بخش phpMyAdmin بروید و روی نام دیتابیس سایت خود کلیک کنید.
  3. به دنبال جدولی به نام wp_options بگردید و وارد آن شوید.
  4. در دو ردیف اول، گزینه‌هایی به نام siteurl و home را می‌بینید.
  5. بررسی کنید که آدرس سایت شما در هر دو ردیف دقیقاً با https:// شروع شده باشد. (مثال: https://yourdomain.com). اگر با http بود، روی دکمه Edit کلیک کرده، حرف s را اضافه کنید و آن را ذخیره نمایید.

گام سوم: معرفی کلودفلر به فایل wp-config.php وردپرس

گاهی اوقات، وردپرس نمی‌تواند تشخیص دهد که درخواست‌ها از سمت پروتکل امن کلودفلر در حال ارسال است و خودش سعی می‌کند کاربر را ریدایرکت کند. برای حل این مشکل err_too_many_redirects در وردپرس کلودفلر یک کد جادویی وجود دارد!

  1. وارد بخش File Manager هاست شوید.
  2. در پوشه public_html، فایل wp-config.php را پیدا کرده و روی دکمه Edit کلیک کنید.
  3. دقیقاً قبل از خطی که نوشته /* That's all, stop editing! Happy publishing. */ کدهای زیر را قرار دهید:

PHP

if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
   $_SERVER['HTTPS']='on';

این کد به وردپرس می‌فهماند که: «اگر کاربری از طریق HTTPS کلودفلر وارد شد، تو هم فرض کن اتصال کاملاً امن است و دیگر او را ریدایرکت نکن!»

گام چهارم: خاموش کردن افزونه‌های فورس‌کننده SSL (مثل Really Simple SSL)

بسیاری از کاربران برای سبز شدن قفل کنار آدرس سایت، افزونه‌هایی مانند Really Simple SSL را نصب می‌کنند. وقتی شما سایت را به کلودفلر وصل می‌کنید، خود کلودفلر وظیفه تامین امنیت را بر عهده می‌گیرد. فعالیت همزمان افزونه SSL در وردپرس و سیستم کلودفلر، یک تداخل بزرگ ایجاد کرده و باعث خطای ریدایرکت می‌شود.

چگونه افزونه را بدون دسترسی به پیشخوان پاک کنیم؟

به فایل منیجر هاست بروید، وارد مسیر wp-content/plugins شوید. پوشه مربوط به افزونه SSL (مثلاً really-simple-ssl) را پیدا کرده و نام آن را به really-simple-ssl-old تغییر دهید. افزونه به صورت خودکار خاموش شده و سایت شما نفس می‌کشد!

گام پنجم: پاک کردن کش مرورگر و کش کلودفلر

گاهی اوقات شما تمام مشکلات را حل کرده‌اید، اما مرورگر شما یا سرورهای کلودفلر هنوز نسخه خراب (ریدایرکت شده) قبلی را در حافظه خود نگه داشته‌اند.

  • در کلودفلر: از منوی سمت چپ به بخش Caching و سپس Configuration بروید. روی دکمه آبی‌رنگ Purge Everything کلیک کنید تا تمام حافظه پنهان پاک شود.
  • در مرورگر شما: دکمه‌های ترکیبی Ctrl + Shift + R (در ویندوز) یا Cmd + Shift + R (در مک) را فشار دهید تا مرورگر شما صفحه را بدون استفاده از کش قبلی، از نو بارگذاری کند.

سازگاری بی‌نقص کلودفلر با سرورهای قدرتمند ابرینا

یکی از دغدغه‌های مهم وب‌مسترها هنگام اتصال سایت به کلودفلر، بحث سازگاری سرور مبدأ با این شبکه توزیع محتواست. اگر سرور شما کند باشد یا تنظیمات امنیتی (Firewall) استانداردی نداشته باشد، کلودفلر با خطاهای 52X متعددی روبرو می‌شود.

اما اگر از سرویس‌های هاستینگ استانداردی مانند ابرینا استفاده می‌کنید، خیالتان از هر جهت راحت باشد. چرا؟

  1. پشتیبانی از AutoSSL معتبر: سرورهای ابرینا به صورت خودکار گواهینامه‌های SSL معتبر و قدرتمندی روی دامنه شما نصب می‌کنند. این یعنی شما می‌توانید با خیال راحت تنظیمات کلودفلر را روی Full (Strict) قرار دهید و بالاترین امنیت ممکن را بدون خطای ریدایرکت تجربه کنید.
  2. درایوهای پرسرعت SSD: کلودفلر فایل‌های استاتیک (مثل عکس‌ها) را کش می‌کند، اما برای پردازش کدهای وردپرس و دیتابیس همچنان به سرور اصلی مراجعه می‌کند. سرورهای نسل جدید ابرینا با هارد دیسک‌های فوق‌سریع SSD، پاسخ درخواست‌های کلودفلر را در کسری از ثانیه می‌دهند و تجربه کاربری بی‌نظیری خلق می‌کنند.
  3. تنظیمات شبکه‌ای بهینه: فایروال‌ها و وب‌سرورهای استفاده شده در زیرساخت‌های ابرینا کاملاً برای ارتباط با IPهای کلودفلر (Cloudflare IPs) بهینه‌سازی شده‌اند و هیچ‌گاه آی‌پی‌های کلودفلر را به اشتباه مسدود نمی‌کنند.
  4. پشتیبانان ما هستند :اگر کاربر ابرینا هستید کافی هست با پشتیبانان فنی این مشکل err_too_many_redirects در وردپرس کلودفلر را در میان بگذارید با دادن دسترسی آنها مشکل شما را حل خواهند کرد.

ترکیب کلودفلر و هاست‌های حرفه‌ای، دقیقاً همان چیزی است که برای فتح رتبه‌های اول گوگل به آن نیاز دارید!

بررسی یک مقصر پنهان: فایل htaccess.

اگر تمامی ۵ گام بالا را طی کردید و سایت همچنان روی حلقه ریدایرکت گیر کرده بود، باید به سراغ مقصر پنهان یعنی فایل .htaccess برویم. این فایل در ریشه هاست (پوشه public_html) قرار دارد و فرمان‌های مهمی به وب‌سرور می‌دهد.

گاهی اوقات کدهایی در این فایل وجود دارند که ترافیک HTTP را به زور به HTTPS می‌فرستند و با کلودفلر تداخل پیدا می‌کنند.

برای رفع مشکل err_too_many_redirects در وردپرس کلودفلر، وارد فایل .htaccess در هاست شوید. از کدهای داخل آن یک کپی بگیرید (برای احتیاط). سپس تمام کدهای داخل آن را پاک کرده و کدهای استاندارد وردپرس را جایگزین آن کنید:

Apache

# 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

پس از ذخیره این فایل، سایت شما به احتمال ۹۹ درصد بدون مشکل باز خواهد شد.

پرسش‌های متداول شما (FAQ)

برای اینکه هیچ سوالی در ذهن شما باقی نماند، به پرتکرارترین دغدغه‌های کاربران در مورد این خطا پاسخ داده‌ایم:

آیا خطای ERR_TOO_MANY_REDIRECTS به سئوی سایت ضربه می‌زند؟

بله. اگر این مشکل err_too_many_redirects در وردپرس کلودفلر سریعاً برطرف نشود و ربات‌های موتورهای جستجو (مثل Googlebot) برای بررسی سایت شما بیایند و با حلقه ریدایرکت مواجه شوند، نمی‌توانند صفحات سایت را ایندکس کنند. در صورت تداوم، این خطا می‌تواند باعث افت شدید رتبه‌های سایت شما در گوگل شود. بنابراین رفع فوری آن کاملاً ضروری است.

برای درک بیشتر مقاله تاثیر هاست بر سئو هم میتوانید مطالعه کنید.

تغییر تنظیمات SSL در کلودفلر چقدر طول می‌کشد تا روی سایت اعمال شود؟

معمولاً تغییر حالت SSL از Flexible به Full (Strict) در کلودفلر به صورت آنی (در کمتر از ۱۰ ثانیه) اعمال می‌شود. اگر سایت بلافاصله درست نشد، قطعاً مشکل از حافظه کش (Cache) مرورگر شماست. حتماً کش مرورگر خود را پاک کنید یا سایت را در حالت ناشناس (Incognito Mode) باز کنید.

چرا با اینکه SSL را روی Full گذاشتم، باز هم بعضی صفحات خطای ریدایرکت می‌دهند؟

اگر صفحه اصلی باز می‌شود اما صفحات دیگر خطای ریدایرکت دارند، مشکل از کلودفلر نیست. به احتمال زیاد در افزونه‌های سئو (مانند رنک‌مث یا یوآست) یا در افزونه‌های ریدایرکت، آدرس یک صفحه را به صورت اشتباه به خودش یا به چرخه‌ای از صفحات ریدایرکت کرده‌اید (مثلاً برگه A به برگه B ریدایرکت شده و برگه B دوباره به برگه A ریدایرکت شده است). باید قوانین تغییر مسیر را در افزونه‌های خود بررسی کنید.

کلام آخر

مدیریت یک سایت وردپرسی گاهی شبیه به حل یک پازل جذاب است. رویارویی با خطای ERR_TOO_MANY_REDIRECTS هنگام اتصال به کلودفلر، یکی از همان قطعات پازل است که به دلیل تضاد در تنظیمات SSL رخ می‌دهد.

همان‌طور که در این آموزش جامع خواندیم، برای رفع مشکل err_too_many_redirects در وردپرس کلودفلر، فقط کافی است منطق ارتباطی کلودفلر را درک کنیم و تنظیمات آن را از حالت انعطاف‌پذیر (Flexible) به حالت کامل (Full) تغییر دهیم. در کنار این موارد، استفاده از یک زیرساخت میزبانی پایدار و استاندارد (مانند سرویس‌های قدرتمند ابرینا) که گواهینامه‌های SSL را بدون نقص روی سرور پشتیبانی می‌کند، خیال شما را برای همیشه از بابت تداخل‌های امنیتی راحت خواهد کرد.

امیدواریم این آموزش، دغدغه و استرس قطعی سایت را به سرعت از شما دور کرده باشد. اگر با انجام مراحل بالا هنوز سایتتان با مقاومت روبرو است، در بخش نظرات همین مقاله مشکل خود را بنویسید تا با کمال میل آن را بررسی و حل کنیم. پایداری و موفقیت، سهم کسب‌وکار شماست!