وردپرس مدیریت سایت را حتی برای افرادی که با برنامه نویسی آشنایی ندارند ساده کرده است. با این حال، برخی خطاهای فنی ممکن است تجربه کاربران را مختل کند. یکی از این خطاهای رایج، ارور ERR_TOO_MANY_REDIRECTS یا به عبارتی حلقه بیپایان تغییر مسیر (redirect loop) است. در این مقاله تیم الماس هاست بررسی خواهند کرد که ERR_TOO_MANY_REDIRECTS چیست، چرا اتفاق میافتد و چطور میتوان آن را برطرف کرد.
خطای ERR_TOO_MANY_REDIRECTS چیست؟
این خطا زمانی ظاهر میشود که مرورگر بین دو یا چند آدرس به صورت پی در پی ریدایرکت می شود، بدون اینکه قادر به بارگذاری مقصد نهایی باشد. در نتیجه، مرورگر این روند را متوقف کرده و پیام خطا را نمایش میدهد. مثال:
URL A → URL B → URL A → URL B → ...
مرورگرهای مختلف مانند Chrome، Firefox، Safari و Edge این خطا را با پیام هایی مشابه نمایش می دهند.
عوامل رایج ایجاد حلقه ریدایرکت در وردپرس
این خطا معمولاً به دلایل زیر در سایتهای وردپرسی ایجاد میشود:
- تنظیمات اشتباه آدرس های سایت در پیشخوان وردپرس
- پیکربندی نادرست فایل .htaccess
- ناسازگاری یا تنظیم اشتباه افزونه ها (به ویژه افزونه های ریدایرکت یا SSL)
- تنظیمات اشتباه در گواهینامه SSL و استفاده نادرست از HTTPS
- تداخل تنظیمات با CDN یا فایروال هایی مانند Cloudflare یا Sucuri
- انتقال نادرست سایت از دامنه ای به دامنه دیگر یا از ساب دایرکتوری به روت اصلی
راهکارهای رفع خطای ERR_TOO_MANY_REDIRECTS در وردپرس
در ادامه روشهایی را که میتوانید به ترتیب امتحان کنید معرفی میکنیم:
پاکسازی کش مرورگر و کوکیها
گاهی اطلاعات ذخیرهشده در مرورگر باعث بروز این مشکل میشوند. با پاک سازی کش و کوکی ها، احتمال رفع سریع مشکل وجود دارد. مسیر پاکسازی در کروم: Settings > Privacy & Security > Clear browsing data
بررسی و اصلاح URL های وردپرس
از طریق مسیر پیشخوان > تنظیمات > عمومی مطمئن شوید که دو فیلد "نشانی وردپرس (URL)" و "نشانی سایت (URL)" به درستی تنظیم شدهاند. به تطابق http و https و وجود یا نبود www توجه کنید. اگر دسترسی به پنل مدیریتی ندارید، میتوانید این دو مقدار را مستقیماً در فایل wp-config.php تنظیم کنید:
define('WP_HOME', 'https://yoursite.com');
define('WP_SITEURL', 'https://yoursite.com');
غیر فعال سازی افزونه ها
افزونه ها به ویژه آنهایی که با SSL، ریدایرکت یا URL سروکار دارند، میتوانند باعث ایجاد حلقه تغییر مسیر شوند. راهکار:
- تمام افزونهها را غیرفعال کنید
- سپس آنها را یکییکی فعال کنید تا افزونه مشکلساز را پیدا کنید
اگر به پیشخوان دسترسی ندارید، از طریق FTP یا File Manager پوشه افزونه ها را تغییر نام دهید تا غیرفعال شوند.
بررسی تنظیمات SSL / HTTPS
اگر از HTTPS استفاده میکنید، باید مطمئن شوید که گواهی SSL به درستی نصب و پیکربندی شده است. نکات:
- مطمئن شوید افزونه هایی مانند Really Simple SSL به درستی تنظیم شدهاند
- از ریدایرکت های دستی در .htaccess یا تنظیمات CDN جلوگیری کنید مگر اینکه اطمینان کامل داشته باشید
پاک سازی کش افزونه های بهینه سازی (مانند WP Rocket)
اگر از افزونه های کش استفاده می کنید، کش آنها را نیز پاک کنید تا نسخه ذخیره شده قبلی که شامل ریدایرکت های نادرست است حذف شود. مسیر در WP Rocket: Settings > Dashboard > Clear Cache
بررسی فایل .htaccess
اگر سایت شما روی Apache اجرا میشود، ممکن است مشکل از ریدایرکت های داخل فایل .htaccess باشد. ساختار پیش فرض این فایل برای وردپرس:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
در صورت نیاز میتوانید این فایل را حذف و از طریق تنظیمات پیوند یکتا در وردپرس، آن را بازسازی کنید.
مشکلات CDN و فایروال
اگر از خدمات CDN مانند Cloudflare استفاده میکنید، تنظیمات SSL در پنل Cloudflare (مانند Full یا Flexible SSL) میتواند باعث حلقه ریدایرکت شود. راهکار:
تنظیمات SSL را بررسی و در صورت نیاز روی Full (Strict) قرار دهید
در صورت عدم اطمینان، موقتاً CDN را غیرفعال و تست کنید
در پایان
خطای ERR_TOO_MANY_REDIRECTS گرچه در نگاه اول ممکن است نگران کننده باشد، اما با بررسی مواردی مانند URLها، افزونه ها، فایل های پیکربندی و گواهینامه های SSL به راحتی میتوان آن را رفع کرد. اگر با مراحل گفته شده به نتیجه نرسیدید، بهتر است با پشتیبانی هاست یا یک توسعه دهنده وردپرس مشورت نمایید.