آموزش حل خطای Error Too Many Redirects وردپرس

مسیح دیندار
مدیریت
عضو شده: 2021-04-12 14:23:35
2021-05-03 09:34:38

در وردپرس خطای Error Too Many Redirects یا با کد مرورگری ERR_TOO_MANY_REDIRECTS (خطای تعداد زیاد ریدایرکت) زمانی اتفاق میفته که سایت شما بیش از چندین بار بخواد یک آدرس رو ریدایرکت کنه و در واقع یک حلقه ی بی پایان از ریدایرکت ها رو ایجاد کنه که در این صورت مرورگر با شناسایی چنین حالتی سریعا لود شدن سایت رو متوقف می کنه و چنین خطایی رو نمایش میده:

یکی از حالت های ممکن و مشکل ساز، استفاده از افزونه های SSL هست. افزونه هایی که سعی می کنند کاربر شما رو از نسخه HTTP به HTTPS ریدایرکت کنند و به دلیل ضعف در کدنویسی اون، عمل ریدایرکت در جایی متوقف نمیشه و مدام تکرار میشه که یه همچین مشکلی رو به وجود میاره.

حالت دیگه کدهای نادرست برای پیوندیکتا هست! پیوندیکتای وردپرس چیزی شبیه talkina.ir/?page=245 هست و زمانی که بخواهید به talkina.ir/page/245 تبدیلش کنید، در واقع شما برای این جابجایی از ریدایرکت استفاده می کنید. Firendly URL یک عملی هست که علاوه بر ساختن لینک زیبا، برای انتقال کاربر از ویژگی ریدایرکت مرورگر استفاده می کنه. ضعف کدنویسی در دستورات .htaccess هم می تونه یک چرخه ریدایرکت بی نهایت رو ایجاد کنه.

اما اجازه بدید مراحلی رو برای حل مشکل طی کنیم:

1 - کش و کوکی مرورگر رو پاک کنید

هر مرورگری که دارید از قابلیت History هم پشتیبانی میکنه. وارد اون قسمت بشید و تمامی کوکی و کش های مرورگرتون از ابتدای کارش تا الان رو پاک کنید. در واقع یک گزینه هست به نام Clear Everything

 

2 - افزونه و قالب های سایت رو غیرفعال کنید.

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

 

3 - آدرس سایت وردپرس رو اصلاح کنید

در پیشخوان > تنظیمات > عمومی ، دو فیلد برای آدرس سایتتون هست. هر دو آدرس رو مشابه هم وارد کنید. پروتکل HTTP یا HTTPS رو هم مشابه وارد کنید. اگه قراره www استفاده کنید، پس هر دو رو با www وارد کنید. اگه به پیشخوان دسترسی ندارید، وارد phpMyAdmin هاستتون بشید، در جدول wp_settings می تونید هر دو آدرس رو تغییر بدید.

یا این کد رو به ادرس سایت خودتون تغییر بدید و در فایل functions.php قالبتون قرار بدید:

update_option( 'siteurl', 'https://example.com' );
update_option( 'home', 'https://example.com' );

البته این راه پیشنهاد نمیشه اما یه گزینه در دسترس برای شماست که برای امتحان کردن قرارش دادم

 

4 - بازنشانی فایل htaccess

فایل .htaccess در روت وردپرس یک اتاق فرمان برای دستورات عمومی سایت و سرور شماست. فایل رو در حالت ویرایش باز کنید و محتویات رو چک کنید. اگه کدهای مشکوکی دیدید، بهتره اول یک بکاپ تهیه کنید ازش بعد کدهای پیش فرض htaccess برای وردپرس رو جایگزین این فایل کنید.

 

5 -  گام آخر صحبت با هاستینگ

اگر راه های بالا تا الان جواب ندادن، بهتره با هاستینگ خودتون داخل تیکت یه صحبتی بکنید. و مطمئن بشید مشکل از سمت سرور و هاست نباشه.