شما در وردپرس برتر هستید!
آموزش وردپرسمقالات آموزشی

آموزش رفع خطای Too Many Redirects در وردپرس

226بازدید

داشتن یک سایت وردپرس با هاست و دامنه مجزا مزایای زیادی دارد، اما برخی مواقع بعضی از مشکلاتی که به آسانی قابل رفع هستند می توانند کاربران تازه کار را حسابی اذیت کنند. صفحه سفید مرگ، Internal Server Error و برخی دیگر از مشکلات و خطاهای رایج وردپرس می توانند حسابی برای کاربران جدید و تازه کار استرس زا باشند. خطای “Too Many Redirects” یکی دیگر از خطاهای رایج وردپرس است که کاربران ممکن است با آن مواجه شوند. در این مطلب میخواهیم به شما نشان دهیم که چگونه می توانید این خطا را رفع کنید.

در مرور FireFox خطای Too Many Redirects به صورت زیر نمایش داده می شود:

خطای Too Many Redirects در مروگر فایرفاکس

 

علت مشاهده خطای Too Many Redirects در وردپرس چیست؟

این خطا معمولا به خاطر عدم انجام تنظیمات صحیح در سایت اتفاق می افتد. همان طور که میدانید، وردپرس دارای ساختار آدرس سازگار با سئو است که از تابع redirect (انتقال) استفاده می کند. چندین افزونه محبوب وردپرس نیز از این قابلیت استفاده می کنند. برای مثال، افزونه سئو وردپرس (Yoast) به شما اجازه می دهد تا عبارت category را از آدرس دسته بندی های سایت خود با هدایت کاربران به آدرس بدون این عبارت، پاک کنید. گواهی SSL و افزونه های کش نیز از این قابلیت انتقال (redirect) استفاده می کنند.

هر گونه اشکال در هر یک از این ابزارها می تواند باعث ایجاد مشکل و انتقال کاربر به آدرسی شود که در واقع در حال انتقال از آن به آدرس دیگری بوده است. این موقع است که مرورگر کاربر بین دو برگه گیر کرده و در این حالت شما با خطای Too Many Redirects مواجه خواهید شد.

 

چگونه می توان خطای Too Many Redirects را رفع کرد؟

شایع ترین اشکالی که به آن برخورده ایم موقعی است که کاربر آدرس نادرستی را در قسمت نشانی وردپرس و نشانی سایت وارد می کند.

برای مثال، فرض کنید که نشانی سایت شما //www.example.com است و به قسمت همگانی در تنظیمات در منوی سمت راست پیشخوان وردپرس میروید و آن را //example.com قرار میدهید.

بیشتر وب هاست ها به شما اجازه می دهند تا بین اینکه به آدرس شما پیشوند www اضافه شود یا نه، یکی را انتخاب کنید. در مواردی که شما انتخاب کردید تا www به نشانی سایت شما اضافه شود، آن موقع اضافه کردن //example.com به عنوان نشانی سایت در قسمت همگانی باعث ایجاد خطا خواهد شد. این حالت برای زمانی که پیشوند مذکور را انتخاب نکرده اید ولی آدرس سایت خود را به صورت //www.example.com وارد می کنید نیز صادق بوده و باعث ایجاد خطا می شود.

وقتی که کاربر به آدرس //example.com مراجعه می کند، به آدرس تنظیم شده در سرور شما یعنی //www.example.com منتقل خواهند شد که با توجه به تنظیماتی که در وردپرس انجام داده اید مجددا به //example.com منتقل خواهند شد.

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

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

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

اگر نشانی مذکور با www است، آدرس بدون www را وارد کنید و اگر بدون www است، آدرس با www را وارد کنید.

توجه: مطمئن شوید که در انتهای آدر سایت / وجود نداشته باشد مانند //www.example.com/

 

تغییر نشانی سایت بدون دسترسی به پیشخوان وردپرس

در موقعی که به پیشخوان سایت وردپرس خود دسترسی ندارید، شما همچنین می توانید این تنظیمات را با تعریف آنها در wp-config.php انجام دهید. تنها کافی است از طریق یک FTP Client به سایت خود متصل شوید. به محض اینکه متصل شدید، فایل wp-config.php را در روت هاست خود پیدا کنید. فایل مذکور را دانلود کرده و سپس آن را ویرایش کنید. تنها کافی است دو خط زیر را به فایل مذکور اضافه کنید:


define('WP_HOME','//example.com');
define('WP_SITEURL','//example.com');

فراموش نکنید که به جای example.com، نشانی سایت خود را جایگزین کنید.

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

 

رفع دیگر مشکلات مربوط به Redirect

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

از همین رو ابتدا باید مشخص کنید که کدام افزونه باعث ایجاد این مشکل شده است. آیا اخیرا قبل از اینکه این اتفاق بیافتد افزونه ای را فعال کرده اید؟ آیا اخیرا قبل از اینکه این اتفاق بیافتد افزونه های خود را بروز رسانی کرده اید؟ اگر جواب هر کدام از سوالات مطرح شده “بله” است، این موضوع باعث می شود تا مشکل ما تنها به افزونه های مذکور محدود شود. شما به سادگی می توانید افزونه مذکور را با پاک کردن پوشه اش از wp-content/plugins/ غیرفعال کنید.

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

این فرایند به سرور شما اجازه می دهد تا فایل .htaccess جدیدی ایجاد کرده و از آنجایی که هیچ افزونه ای فعال نیست، مشکل مذکور به احتمال زیاد حل خواهد شد. اگر که مشکل حل شد، میدانید که یکی از افزونه ها باعث این مشکل شده است.

گام بعدی، شناسایی افزونه مذکور است. برای انجام این کار باید افزونه های سایت خود را یکی یکی فعال کرده و سایت خود را بررسی کنید. با این کار می توانید افزونه معیوب مورد نظر را پیدا کنید.

ارسال پاسخ