گاهی اوقات ممکن است که با ارور Too Many Redirects در وردپرس مواجه شوید. همانطور که از معنای لغوی این خطا برمیآید با به وجود آمدن آن ریدایرکتهایی در وردپرس ایجاد میشود که در نهایت ممکن است صفحه هدف لود نشود.
این یک مسئله رایج است که ممکن است برای هر سایت وردپرسی رخ دهد. در این مقاله، به شما نشان خواهم داد که چگونه خطای ریدایرکت بیش حد از حد در وردپرس را برطرف کنید.
ارور Too Many Redirects در وردپرس
در مرورگرهای مختلف این خطا به شکلهای خاص خود نمایش داده میشود که در هر صورت ارور too many redirects در آن به شما نمایش داده خواهد شد. به عنوان نمونه در مرورگر فایرفاکس با تصویری مشابه زیر مواجه میشوید.
اگر به تصویر دقت کنید پیغام خطا نیز به شکل زیر نمایش داده میشود.
The page isn’t redirecting properly. Firefox has detected that the server is redirecting the request for this address in a way that will never complete.
این خطا معمولاً به دلیل تغییر مسیر پیدرپی پیکربندی شده رخ میدهد. همانطور که میدانید وردپرس دارای ساختار آدرسدهی است که از نظر سئو بهینهسازی شده باشد. برای همین منظور از قابلیت تغییر مسیر استفاده میکند. در این صورت وقتی شما پیوند یکتا را در حالتی که روی پیشفرض قرار دارد وارد کنید، اما پیوند یکتا بر اساس نام نوشته باشد، به ساختار جدید ریدایرکت خواهید شد.
حال وقتی خطای Too Many Redirects رخ میدهد به این معنی است که مشکلی در این عملکرد ایجاد شده و باعث میشود که حتی در حالت عادی که پیوند یکتا تنظیم شده را وارد میکنید مدام این چرخه به صورت بی نهایت تکرار شده و با خطا مواجه شوید.
در مرورگر گوگل کروم هم شاهد هستیم که همین خطا به شکل دیگری نمایش داده میشود که در تصویر زیر نیز آن را مشاهده میکنید.
با توجه به پیکربندی غلط در هر یک از این ابزارهای تغییر مسیر، سایت شما ممکن است در نهایت کاربران را به URL هدایت کند که در واقع آنها را به آدرس URL مرجع بازمیگرداند. در این حالت مرورگر کاربر بین دو صفحه به دام میافتند و از این رو خطایی را مشاهده میکنید.
رفع خطای Too Many Redirects در وردپرس
رایجترین دلیلی که باعث ایجاد این خطا میشود تغییر تنظیمات نادرست در پیکربندی وردپرس است. یعنی آدرسهای وارد شده در دو فیلد آدرس که در تنظیمات وردپرس وجود دارند به هر دلیلی تغییر داده شده باشند.
برای بررسی این موضوع به بخش تنظیمات> عمومی مراجعه کنید. سپس دو فیلد آدرس که با نامهای نشانی وردپرس (URL) و نشانی سایت (URL) وجود دارند را بررسی کنید که هر دو به درستی با نام دامنه وارد شده باشند.
ممکن است برای تغییر این بخش دسترسی به پیشخوان وردپرس نداشته باشید که میتوانید مستقیماً از طریق دیتابیس اقدام کرده یا اینکه به صورت زیر عمل کنید.
ابتدا وارد file manager هاست شده یا اینکه به کمک ابزار FTP در بخش public_html هاست به دنبال فایل wp-config.php بگردید. سپس به کمک ابزار ویرایش این فایل را باز کرده و کدهای زیر را درست قبل از خط /* That’s all, stop editing! Happy blogging. */ قرار دهید.
define('WP_HOME','http://example.com'); define('WP_SITEURL','http://example.com');
دقت کنید که به جای http://example.com/ باید نام دامنه خود را وارد کنید. علاوه بر این در صورتی که از SSL استفاده میکنید یا اینکه پیش از این سایت خود را با www راهاندازی کردهاید باید این دو مورد را هم مشخص کنید. در نهایت روی دکمه save کلیک کنید تا تنظیمات اعمال شود.
بررسی سایر روشها
به دلیل اینکه این خطا با ایجاد مشکل در wp_redirect () رخ میدهد، میتواند دلایل دیگری هم داشته باشد که از جمله آنها میتوان به افزونهها یا کوکی و کش مرورگر اشاره کرد.
غیرفعال کردن افزونهها
در صورتی که به روش بالا موفق به رفع خطا نشدید میتوانید با بررسی افزونهها به این ترتیب عمل کنید. اگر اخیراً پس از نصب افزونه یا آپدیت افزونهای این خطا رخ دهد، کار شما ساده است و تنها باید افزونه مورد نظر را غیرفعال کنید. اما در غیر این صورت باید همه افزونهها را غیرفعال کرده و سپس در هر بار فعال کردن یک افزونه بررسی کنید که مشکل با فعال کردن کدام افزونه رخ میدهد. در چنین شرایطی دو حالت پیش روی شما خواهد بود.
- در صورت داشتن دسترسی به پیشخوان وردپرس، کافی است به منوی افزونهها مراجعه و بعد از غیرفعال کردن همه افزونهها کار فعال سازی و بررسی سایت را برای هر افزونه انجام دهید.
- در صورت عدم دسترسی به پیشخوان وردپرس، برای غیرفعال کردن افزونهها، باید از مسیر file manager هاست خود یا اینکه ابزار FTP به مسیر /public_html/wp-content/ مراجعه کنید. سپس نام پوشه plugins را مشابه تصویر بالا به کمک گزینه rename نام دیگری مثل plugins.test تغییر نام داده و ذخیره کنید.
بعد از اینکه کلیه افزونهها غیرفعال شدند، اگر مشکل از سمت افزونهها باشد ارور Too Many Redirects در وردپرس برطرف شده و میتوانید به آدرس پیشخوان دسترسی پیدا کنید. حال کافی است با فعال کردن هر افزونه یک بار پیشخوان وردپرس را رفرش کرده و ببینید که با فعال سازی کدام افزونه این خطا رخ میدهد تا افزونه معیوب را پیدا کنید.
ریستور کردن فایل htaccess.
بررسی کرده و ببینید که آیا اخیرا تغییراتی در فایل htaccess. خود ایجاد کردید؟ ممکن است این خطا به دلیل تغییرات در این فایل نیز ایجاد شده باشد که در این صورت کافی است به شکل زیر عمل کنید.
ابتدا از نسخه فعلی یکی کپی تهیه کنید. سپس به پیشخوان وردپرس رفته و با مراجعه به قسمت پیوندهای یکتا بدون اینکه تغییری در ساختار ایجاد کنید روی دکمه ذخیره تغییرات کلیک کنید تا این فایل مجدداً ساخته شود.
حذف کوکی و کش مرورگر
گاهی اوقات نیز مشکلی در وردپرس وجود نداشته و مثل سایر خطاهای رایج وردپرس صرفاً بهدلیل تغییراتی در سیستم کامپیوتری شما ایجاد میشود. برای اطمینان از این موضوع کوکی و کش مرورگر را برای دامنه خود حذف کرده و بررسی کنید که مشکل برطرف شده باشد.