مرکز آموزش میهن وب هاست

مرکز آموزش میهن وب هاست

آموزش رفع خطای ERR_TOO_MANY_REDIRECTS در وردپرس

پرینت این مقاله پرینت این مقاله

وردپرس، ایجاد و ویرایش وب سایت ها را بسیار آسان کرده است، حتی با مهارت کم و بدون مهارت در برنامه نویسی نیز می توانید یک سایت را به صورت کامل راه اندازی و مدیریت نمایید. اگر با جنبه های فنی وردپرس و سرورهای وب آشنا نیستید، می توانید پیکربندی نادرست را اصلاح کنید.
خطای ERR_TOO_MANY_REDIRECTS یکی از رایج ترین پیام های خطای کاربران وردپرس است. این خطا "redirect loop" نیز نامیده می شود که در آن مرورگر نمی تواند بفهمد کدام URL را می بایست بارگذاری کند. دلایل مختلفی می تواند باعث این خطا شوند، اما نیازی نیست نگران شوید. با تشخیص علت خطا، رفع آن به راحتی انجام می شود.
در این مقاله توضیح داده می شود که یک redirect loop چیست و سپس بیان می گردد چگونه می توان این مشکل رفع کرد.
خطای "ERR_TOO_MANY_REDIRECTS" چیست؟
هنگام وارد کردن URL در مرورگر، مثلا google.com، مرورگر به آدرس IP سرور میزبان این دامنه متصل می شود. سپس سرور تمام منابع مربوط به سایت (به عنوان مثال HTML ،CSS ،JS) را به مرورگر ارسال می کند، در نهایت مرورگر آنها را جمع آوری و برای کاربر نمایش می دهد. برای آدرسهای زیر شاخه نیز به طور مشابه عمل می شود.
اگر می خواهید نام دامنه وب سایت خود را تغییر دهید، مثلا به google.co، می بایست این تغییر را به کاربران و موتورهای جستجو نیز اطلاع دهید. روش پیشنهادی جهت هدایت URL قدیمی به آدرس جدید ریدایرکت 301 Moved Permanently می باشد.


تصویر(1)

بیشتر اوقات، تغییر مسیر از یک دامنه به دامنه دیگر کمی پیچیده است، به دلیل اینکه صفحات سایت یکسان نیستند. به عنوان مثال، هدایت مرورگر از example.com/offers به example.com/discounts.
خطای ERR_TOO_MANY_REDIRECTS هنگامی رخ می دهد که مرورگر از URL A به URL B هدایت می شود، سپس دوباره از URL B به URL A ، که دوباره به URL B هدایت می شود و .... . مرورگر چنین اتفاقی را redirect loop تشخیص می دهد و خطایی ایجاد می کند.
تصویر(2)

خطای ERR_TOO_MANY_REDIRECTS در Chrome

تصویر(3)
خطای ERR_TOO_MANY_REDIRECTS در Firefox

تصویر(4)
خطای ERR_TOO_MANY_REDIRECTS در Safari


تصویر(5)

خطای ERR_TOO_MANY_REDIRECTS در Edge

تصویر(6)
خطای ERR_TOO_MANY_REDIRECTS در Android و iOS
دلایل خطای ERR_TOO_MANY_REDIRECTS
دلایل زیادی برای ایجاد خطای redirect loop وجود دارد. برای یک وب سایت وردپرسی موارد زیر می توانند باعث بروز این مشکل شوند:
  • تنظیمات نادرست پیکربندی وردپرس

  • تنظیمات نادرست پرونده .htaccess

  • تنظیمات اشتباه افزونه های نصب شده در وردپرس

  • پیکربندی نادرست گواهی SSL / TLS (تنظیمات HTTPS)

  • مشکلات مربوط به CDN ها

  • تغییر دامنه نادرست و بدون برنامه ریزی

اکنون که آموخته اید چه چیزی ممکن است باعث خطا ERR_TOO_MANY_REDIRECTS شود، وقت آن است که یاد بگیرید چگونه آن را برطرف کنید.
 
نحوه رفع خطای "ERR_TOO_MANY_REDIRECTS"
بهتر است برای حل این مشکل از رایج ترین دلایل اقدام کنید. از این رو، راه حل ها براساس اولویت در ادامه مرتب شده اند. با این وجود، اگر پس از ایجاد برخی تغییرات در وب سایت یا سرور خود، این خطا را دریافت کردید، می توانید به بخشی که برای اقدامات قبلی شما مناسب تر است بروید.
بیشتر وب سایت ها کوکی ها را در مرورگر شما ذخیره می کنند تا تجربه کاربر را بهبود ببخشند و برخی اطلاعات را برای استفاده مجدد ذخیره کنند. گاهی اوقات این کوکی ها ممکن است حاوی داده های معیوب یا منسوخ شده باشند که می توانند منجر به خطای redirect شود. پاک کردن کوکی های مرورگر این احتمال را از بین می برد. شما می توانید گزینه پاک کردن کوکی ها را در صفحه Settings یا Options مرورگر خود در بخش Privacy یا History پیدا کنید.
این تنظیم ممکن است از یک مرورگر به مرورگر دیگر متفاوت باشد، بنابراین می توانید از راهنمای آموزش زیر نیز استفاده کنید:
 
تنظیمات URL وردپرس
وردپرس را می توانید در روت اصلی و یا زیر پوشه ها نصب نمایید؛ در صورتیکه که بخواهید سایت خود را از زیر پوشه به روت اصلی منتقل کنید می بایست در تنظیمات وردپرس نیز این تغییر اعمال شود.
برای این مورد، به صفحه تنظیمات> عمومی در داشبورد مدیریت وردپرس خود بروید و مقادیر آدرس وردپرس (URL) و آدرس سایت (URL) را وارد کنید.
URL آدرس سایت همان چیزی است که کاربران برای بازدید از وب سایت شما در مرورگرهای خود تایپ می کنند. URL آدرس WordPress جایی است که شما WordPress را در سرور خود نصب کرده اید. فقط مدیر سایت و کاربرانی که دسترسی به مدیریت سایت دارند می توانند آدرس وردپرس را مشاهده کنند. برای اکثر سایت های وردپرس، این ورودی ها باید یکسان باشند.
تصویر(7)
برای رفع این مشکل، به داشبورد مدیریت وردپرس خود بروید و بررسی کنید نشانی وردپرس (URL) و نشانی سایت (URL) یکسان باشند. نه تنها به نام دامنه، بلکه به HTTP یا HTTPS و بخش های www یا www نیز توجه کنید.
گاهی اوقات، به دلیل خطای redirect loop، نمی توانید به داشبورد وردپرس خود دسترسی پیدا کنید. می توانید با ویرایش فایل wp-config.php و تعیین مقادیر URL در دو پارامتر ثابت زیر، تنظیمات مشابه را مستقیماً تغییر دهید.

define('WP_HOME','https://example.com');

define('WP_SITEURL','https://example.com');

توجه: به جای example.com، نام دامنه خود را قرار دهید
نکته:
می توانید با استفاده از ابزارهای آنلاین رایگان مانند HTTP Status Code Checker ، Redirect mapper و Redirect Checker ، علت دقیق خطای redirect loop را مشاهده کنید.
پیکربندی نادرست تنظیمات HTTPS
نصب گواهینامه SSL / TLS برای سایت وردپرس شما یکی از روشهای اصلی برای بالا بردن امنیت سایت و کاربران شما است. با این حال، اگر سایت خود را به گونه ای تنظیم کرده اید تا بدون نصب و پیکربندی صحیح یک گواهینامه SSL / TLS از طریق HTTPS بارگیری شود، این امر می تواند منجر به خطای redirect loop شود زیرا مرورگر نمی تواند برای اتصال HTTPS با سرور ارتباط برقرار کند. اگر افزونه SSL را در وردپرس نصب کرده اید، مطمئن شوید که آن را به درستی تنظیم کرده اید. گرچه هدایت مجدد همه URL های سایت شما به صورت خودکار به HTTPS آسان است، اما گاهی اوقات می توانند با تنظیمات سرور شما تضاد داشته باشند. از این رو، همواره توصیه می شود بررسی پیکربندی تنظیمات سرور را به صورت دستی انجام دهید.
نکته: اگر دستکاری در تنظیمات سرور برای شما نگران کننده است، برای دریافت راهنمایی در مورد تنظیم گواهی SSL / TSL با تیم پشتیبانی ارائه دهنده میزبان خود تماس بگیرید.
اگر هاست شما در میهن وب هاست قرار دارد کافی است یک درخواست پشتیبانی از ناحیه کاربری خود ارسال کنید تا در سریعترین زمان مشکل SSL هاست و سایت شما رفع گردد.
تمامی کش ها را حذف کنید
اگر از افزونه های کش مانند راکت استفاده می کنید، حتی بعد از رفع مشکل نیز ممکن است سایت شما از کش ذخیره شده توسط افزونه راکت بارگذاری شده و به درستی نمایش داده نشود. برای پاک کردن تمامی کش های ایجاد شده توسط افزونه راکت می توانید با رفتن به Settings> WP Rocket> Dashboard panel و کلیک بر روی دکمه "Clear Cache" حافظه پنهان را به راحتی پاک کنید.
تصویر(8)
افزونه های وردپرس را به طور موقت غیرفعال کنید
افزونه های وردپرس گاهی اوقات می توانند در عملکرد قوانین ریدایرکت تنظیم شده توسط وردپرس یا سرور اختلال ایجاد کنند. این امر به ویژه در صورت نصب افزونه های تغییر مسیر صادق است. می توانید موقتاً آنها را غیرفعال کنید.
نمونه هایی از افزونه های ریدایرکت در تصویر زیر مشخص هستند:
تصویر(9)
برخی از افزونه های سئو و بهینه سازی مانند Yoast SEO Premium به شما امکان می دهند، تغییر مسیرها را به صورت صفحه به صفحه تنظیم کنید، بنابراین پیشنهاد می شود موقتاً آنها را غیرفعال کنید.
باید توجه داشته باشید غیرفعال کردن یک افزونه، خود افزونه یا داده های مربوط به آن را حذف نمی کند. بعد از رفع مشکل می توانید افزونه های خود را مجدد بدون مشکل فعال نمایید.
اگر برای غیرفعال کردن افزونه ها به داشبورد سرور وردپرس خود دسترسی ندارید ، می توانید با تغییر نام پوشه افزونه در مسیر wp-content / plugin آنها را غیرفعال کنید.
پیشنهاد می شود پلاگین ها را یکی یکی غیرفعال کنید تا در صورت یافتن پلاگین دارای مشکل، آن را غیرفعال نمایید. 
پیکربندی اشتباه CDN
سرویس های CDN (به عنوان مثال Cloudflare) و WAF ها (به عنوان مثال Sucuri) سرویس واسطی هستند که بین سرور شما و کاربران سایت قرار دارند. پیکربندی CDN برای افرادی که با آن آشنایی کافی ندارند، کمی پیچیده است.
اگر سرویس CDN یا WAF شما گواهینامه های SSL / TLS سایت شما را نیز مدیریت کنند، این مورد می تواند باعث ایجاد پیچیدگی در رفع مشکل شود. با کمک تیم پشتیبانی هاست و یا یک برنامه نویس وب حرفه ای می توانید مشکل را سریعا رفع نمایید.
تصویر(10

صفحه تنظیمات صفحه Cloudflare (منبع: Cloudflare)
پیکربندی نادرست فایل .htaccess
سرانجام، فایل .htaccess را بررسی کنید تا مطمئن شوید هیچ ریدایرکت غیر ضروری وجود ندارد. سایت های وردپرسی بیشتر روی دو نوع وب سرور اجرا می شوند: Apache،Lightspeed یا NGINX.
اگر سایت وردپرسی شما از وب سرور Apache پشتیبانی می کند، برای یافتن پرونده .htaccess باید در فهرست ریشه سایت خود جستجو کنید. در اینجا پیکربندی فایل اصلی .htaccess برای سایت های وردپرس وجود دارد:

# BEGIN WordPress

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

# END WordPress

و در پایان
یادگیری نحوه استفاده صحیح از ریدایرکت ها به شما کمک می کنند ساختار سایت خود را از برقراری اتصالات امن SSL گرفته تا اطمینان از اینکه بازدیدکنندگان به صفحه درستی هدایت می شوند، بدون آسیب رساندن به سئو سایت یا ظاهر سایت تغییر دهید.
خطای ERR_TOO_MANY_REDIRECTS برای اکثر دارندگان سایتهای وردپرسی بسیار معمول است. اکنون دانش لازم را برای تشخیص علل خطای redirect loop و رفع آن با استفاده از تکنیک های مختلف دارید.
3/5 از 41 رای