حل خطای too many redirects در وردپرس
اگر هنگام باز کردن یک صفحه از سایتتان با پیغام خطای تغییر مسیرهای بسیار یا لوپ تغییر مسیر که معمولا با جمله “page is redirected too many times” از طرف مرورگرتان مواجه میشوید٬ برخوردید نگران نباشید. این خطا٬ یک خطای معمول است که بسیاری از کاربران دیگر نیز آن را تجربه کردهاند. در این مقاله آموزشی دلایل و راه حل این مشکل را به شما میآموزیم.
علت خطای too many redirects در وردپرس چیست؟
این خطا معمولا به خاطر یک اشکال در پیکربندی تغییرمسیرها رخ میدهد. همان طور که میدانید وردپرس از یک ساختار مطابق با سئوی url استفاده میکند که از تابع ریدایرکت یا تغییرمسیر استفاده میکند. بسیاری از افزونههای محبوب وردپرس نیز از کارکرد ریدایرکت بهره میبرند. برای مثال افزونه محبوب سئوی یوآست اجازه میدهد تا شما ساختار بر اساس دسته را از یوآرالهای دستهبندی با استفاده از تغییر مسیر کاربران به یک یوآرال بدون اساس دستهبندی حذف کنید. همچنین افزونههای ssl و کش وردپرس نیز از تغییر مسیر استفاده میکنند.
به خاطر وجود پیکربندی ناصحیح در هر یک از این ابزارها٬ سایت شما ممکن است کاربران را به یک یوآرال هدایت کند که در واقع آنها را به یوآرال صفحه ارجاع دهنده بازمیگرداند. در این صورت مرورگر کاربر میان دو برگه دچار لوپ شده و شما پیغام خطا را مشاهده میکنید.
چگونه مشکل تغییر مسیرهای فراوان را حل کنیم؟
معمولترین ایراد پیکربندی که ما برای این مشکل مشاهده کردیم زمانی است که کاربر از یک یوآرال نادرست برای نشانی وردپرس و نشانی سایت استفاده میکند.
برای مثال بگذارید فرض کنیم که آدرس سایت شما http://www.example.com هست و شما به تنظیمات وردپرس (پنل مدیریت وردپرس بخش تنظیمات»» تنظیمات عمومی) رفته و در فیلد نشانی سایت آدرس http://www.example.com را وارد کردهاید. بیشتر هاستها به شما اجازه میدهند که انتخاب کنید آیا میخواهید یک پیشوند www به نام دامنهتان اضافه کنید یا ترجیح میدهد در یوآرالتان www وجود نداشته باشد. در صورتی که شما افزودن www را انتخاب کرده باشید و آنگاه در تنظیمات وردپرس آدرس سایت را http://example.com وارد کرده باشید آن وقت خطا رخ خواهد داد. یا این که شما نام دامنهتان را بدون www استفاده کرده باشید و آنگاه در تنظیمات وردپرس نشانی سایتتان را http://www.example.com وارد کرده باشید در آن صورت نیز همین خطا رخ خواهد داد.
وقتی که کاربر به آدرس http://example.com میآید توسط پیکربندی سرور شما به آدرس http://www.example.com منتقل میشود در حالی که دوباره توسط وردپرس به http://example.com بازگردانده میشود چرا که شما در تنظیمات آن را تعیین کردهاید.
در صورتی که سایت شما درست کار می کرد و شما تغییری در آن تنظیمات ایجاد نکردهاید پس باید با شرکت هاستینگ تان تماس بگیرید و مشکل را با آنان در میان بگذارید به خاطر آن که به احتمال بالا یک اشکال پیکربندی از طرف آنها وجود دارد.
به هر حال اگر شما یک شرکت هاستینگ معتبری ندارید و آنها از پاسخگویی و رفع مشکل سر باز میزنند آن وقت شما یا باید هاستتان را منتقل کنید و یا این که مشکل را خودتان حل کنید.
برای حل آن شما باید به تنظیمات »» عمومی پیشخوان مدیریت وردپرس سایت تان بروید و نشانی سایت و نشانی وردپرس را تغییر دهید. اگر نشانی بدون www وارد شده آن وقت www را به آن اضافه کنید و اگر نشانی در حال حاضر با www است بنابراین www را از نشانی حذف کنید.
نکته مهم: حواستان باشد که در پایان نشانی سایتتان از علامت / استفاده نکنید یعنی آدر س سایتتان به این صورت وارد نشده باشد: http://www.example.com/ (اگر چنین بود آن وقت علامت / را از انتهای آدرس بردارید.)
تغییر نشانی سایت بدون دسترسی به مدیریت
اگر به هر دلیل به محیط مدیریت وردپرس سایت تان دسترسی ندارید همچنان میتوانید این تنظیمات را با ویرایش فایل wp-config.php سایتتان انجام دهید. به سادگی آدرس سایتتان را با یک نرمافزار و یا کلاینت ftp باز کنید. وقتی که با سایتتان اتصال برقرار کردید فایل wp-config.php را در ریشه دایرکتوری سایت تان خواهید یافت. ( ریشه سایت شما چنانچه دامنه اصلی باشد و ساب دامین نباشد داخل پوشه ای با نام public_html قرار دارد – جایی که تمام محتویات و فایلهای وردپرس شما در آنجا قرار دارد.) شما باید این فایل را با استفاده از یک ویرایشگر متنی مانند notepad (برای کار حرفهایتر پیشنهاد ما استفاده از ویرایشگر پیشرفته notepad++ است) دانلود و ویرایش کنید. سپس به سادگی این دو خط را به فایل اضافه کنید. یادتان نرود به جای example.com نام دامنه خود را قرار دهید.
1 2 | define( 'WP_HOME' , 'http://example.com' ); define( 'WP_SITEURL' , 'http://example.com' ); |
راه حل سایر مشکلات تغییر مسیر
اگر مرحله قبل به حل مشکل کمکی نکرد احتمال آن است که مشکل از طرف یکی از افزونههای سایت شما ایجاد شده باشد. همان طور که در ابتدا ذکر کردیم افزونههای وردپرس بسیاری از تکنیک ریدایرکت برای انجام عملیات مختلفی استفاده میکنند. ما برای حل این مساله در ادامه راهنماییتان خواهیم کرد.
در ابتدا شما باید افزونه خاطی را پیدا کنید. آیا به تازگی و قبل از ظاهر شدن این مشکل٬ یک افزونه نصب و فعال کردهاید؟ آیا اخیرا یک افزونه را بروزرسانی کردهاید؟ اگر پاسخ به هر کدام از پرسشهای بالا بله باشد بنابراین احتمال میرود که مشکل از طرف آن افزونه ایجاد شده باشد. بنابراین به سادگی آن افزونه را غیرفعال و حذف کنید.
اگر نمیدانید کدام افزونه این مشکل را به وجود آورده است آن وقت مجبورید به روش آزمون و خطا آن را بیابید. سریعترین راه حل٬ غیرفعال کردن تمام افزونه هاست. پس از ان که تمام افزونههای وردپرس را غیرفعال کردید به ftp نیاز دارید تا فایل .htaccess را دانلود کرده و از آن بکاپ تهیه کنید. شما این فایل را نیز در ریشه سایتتان همان جایی که فایلwp-config.php را یافتید پیدا میکنید. وقتی این فایل را دانلود کردید آن گاه آن را از روی سرورتان پاک کنید. سپس دوباره سایت را در مروگر خود باز کنید.
این مرحله به سرور شما اجازه میدهد که فایل .htaccess را دوباره تولید کند. و از آن جا که تمام افزونه ها غیرفعال هستند به احتمال زیاد این کار مشکل را حل خواهد کرد. اگر اکنون مشکل قبلی وجود ندارد پس شما مطمئن شدهاید که این مشکل از طرف یک افزونه به وجود آمده بود.
مرحله بعد این است که افزونه مذکور را پیدا کنید. برای این کار نسخههای اصلی افزونههای خود را دانلود و نصب کنید. حال٬ افزونهها را یک به یک فعال کنید و پس از فعال کردن هر کدام از افزونهها سایت را بارگذاری کنید و بررسی کنید که آیا مشکل دوباره رخ میدهد یا خیر. برگههای مختلف سایتتان را با مرورگری که با آن به سایت وارد نشدهاید (به عنوان مهمان) باز کنید. برای این کار میتوانید از اکانت مهمان در مرورگر کروم استفاده کنید. در گوشه بالایی سمت راست مرورگر جایی است که شما یک آیکون مربوط به نام کاربری فعلی را میبینید. با کلیک بر روی آن گزینههای مختلفی در اختیارتان قرار میگیرد که یکی از آنها عبارت Guest است. با کلیک بر روی آن بدون این که از مرورگر دیگری استفاده کنید به عنوان مهمان از سایت خودتان بازدید میکنید. با انجام این کار میتوانید افزونه خطاکار را بیابید.
این ها روشهای مختلفی برای حل این مشکل در وردپرس است. آیا این مقاله به کمکتان آمد و مشکلتان را حل کرد؟ از بخش نظرات تجربه خود را با ما در میان بگذارید تا به کاربران دیگر نیز در حل مشکل کمک کند.
همچنین اگر میخواهید خودتان حلال مشکلات وردپرسی خودتان باشید و سایت خود و دیگران را مثل یک خبره٬ مدیریت کنید میتوانید از ویدیو-کورسهای آکادمی و یا کارگاههای آموزشی حضوری فرشمی (و به زودی وبینارها) استفاده کنید تا از این طریق به یک درآمد تضمین شده نیز دست یابید.