the page is not redirecting properly

اگر از وردپرس به عنوان سلف-هاست استفاده میکنید ، یعنی فایلهاتون در همون هاستی که وردپرس هست قرار داره، از مزایای زیادی برخوردار میشید، هرچند ممکنه گاهی به خطاهایی مثل صفحه مرگ وردپرس، خطای داخلی سرور یا یک سری خطاهای معمول دیگه برخورد کنید که تا حدی هم استرس‌زا هستند. چند وقت پیش یکی از دوستان به خطای “ریدایرکتهای زیاد” یا همون 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

علت این خطا در وردپرس چیست؟

این پیغام خطا اصولا به خاطر تنظیمات نادرست ریدایرکت‌ هست. همونطور که میدونید وردپرس از نظر سئو ساختار friendly URL داره که از تابع ریدایرکت استفاده میکنه. حتی پلاگینهای زیادی هستند که همین عملکرد رو دارند. برای مثال پلاگین WordPress SEO به شما این اجازه میده که نام دسته‎بندی رو از URLهای خود حذف کنید ، که در واقع اینجا داره عمل ریدایرکت به لینکهای بدون دسته‌بندی انجام میشه. SSL وردپرس و پلاگینهای کش هم از ریدایرکت استفاده میکنند.
حالا ، تنظیمات نادرست در هر کدام از این ابزارها ، باعث میشه  ریدایرکت به لینکی انجام بشه که اون لینک خودش داره عمل ریدایرکت رو به لینک فعلی انجام میده و در واقع یک لوپ ایجاد میشه و مرورگر کاربر بین دو تا لینک گیر میکنه و باعث میشه شما این خطا رو ببینید.

this webpage has a redirect loop

 چطور خطای ریدایرکتهای زیاد رو حل کنیم؟
رایجترین تنظیمات نادرست  وقتیه که کاربر URL نادرستی رو در آدرس وردپرس یا آدرس سایت در بخش تنظیمات وارد میکنه.

تنظیمات همگانی

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

آدرس سایت رو بدون دسترسی به بخش ادمین تغییر دهید
در صورتی که به بخش ادمین وردپرس دسترسی ندارید ، میتونید با تغییر فایل wp-config.php این تنظیمات رو آپدیت کنید. با استفاده از یک FTP کلاینت به وبسایتتون متصل شید ، بعد از اتصال فایل wp-config.php رو پیدا کنید. باید فایل رو دانلود کنید و بعد اونرو با نرم افزاری مثل notepad ادیت کنید. این دو خط رو به فایل اضافه کنید ، البته فراموش نکنید که example.com رو به آدرس سایت خودتون تغییر بدید.

[php]</pre>
<pre>define(‘WP_HOME’,’http://example.com’);
define(‘WP_SITEURL’,’http://example.com’);
[/php]

فایل رو ذخیره کنید و دوباره اون رو در وب سرور آپلود کنید و بعد امتحان کنید که سایت باز میشه یا نه. اگر مشکل حل نشده  بود، آدرس دامین رو با www وارد کنید.
برطرف کردن سایر مشکلات ریدایرکت
اگر مراحل قبل مشکل شمارو حل نکرده ، احتمال داره که مشکل از یکی از پلاگینهای سایت شما باشه. همونطور که جلوتر هم گفتم بعضی از پلاگینها از تکنیکهای ریدایرکت به منظورهای متفاوتی استفاده میکنند. خب حالا سعی میکنم در پیدا کردن مشکل کمکتون کنم.
اول از همه باید بفهمیم کدوم پلاگین این مشکل رو ایجاد کرده. آیا اخیرا پلاگینی رو فعال کردین که باعث ایجاد این خطا شده باشه؟ آیا اخیرا پلاگینی رو آپدیت کردین؟ اگر جواب هرکدوم از سوالات بالا مثبته ، میفهمیم مشکل احتمالا از یکی از این پلاگینهاست. حالا ،  به راحتی پلاگین رو با پاک کردن فولدر مربوط به پلاگین از wp-content/plugins/ ،غیرفعال کنید.
اگر هم نمیدونید که مشکل از کدوم پلاگین هست ، باید از روش سعی و خطلا استفاده کنید. راحتترین روش اینه که همه پلاگین‌هارو غیرفعال کنید. بعد از غیرفعالسازی همه‌ی پلاگینها ، .htaccess سایت رو با استفاده از FTP ، به عنوان نسخه پشتیبان دانلود کنید. این فایل در دایرکتوری روت سایت شما قرار دارد. وقتی فایل رو دانلود کردید ، اون رو از سرور پاک کنید. حالا دوباره ببینید میتونید سایت رو باز کنید یا نه.
این کار باعث میشه که سرور یک فایل .htaccess جدید رو ایجاد کنه و از اونجایی که همه پلاگینها غیرفعال شدن ، به احتمال زیاد مشکل حل میشه. اگر مشکل رفع شد ، مطمئن میشید که مشکل از یکی از پلاگینهاست که باعث این خطا شده.
مرحله بعد، اینه که بفهمید کدوم پلاگین مقصره . برای اینکار، پلاگینها رو یکی یکی فعال کنید و بعد از فعال کردن هر یک از پلاگینها سعی کنید چند تا از صفحات سایت خودتون رو باز کنید ، سعی کنید این کار رو با یک مرورگر دیگه امتحان کنید (که در حالت login نباشید). با این کار پلاگینی که مشکل داشته رو پیدا میکنید.

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

لیلا زاهدیAuthor posts

Avatar for لیلا زاهدی

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

2 دیدگاه ها

  • سلام
    من رو هر لینکی از سایتم که کلیک میکنم ریدایرکت میشه به صفحه اصلی چرا؟….

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *