«تحويلات أكثر من اللازم» تعني أنّ قاعدتين تختلفان وتنقض كلٌّ منهما الأخرى: واحدةٌ ترسل http إلى https، وشيءٌ آخر يردّ https إلى http، فيستسلم المتصفّح بعد عشرين رحلةَ ذهابٍ وإياب.
انظر السلسلة
لا تخمّن من المتصفّح. اطبع كلّ وثبةٍ بحالتها ووجهتها.
curl -sIL https://yourdomain.com | grep -E "HTTP/|location:"
الزوجُ المتكرّر في ذلك الخرج هو القتال. وهو يسمّي الطرفين.
الأزواج الأربعة التي تسبّبه
- عنوانُ موقعٍ في نظام المحتوى يخالف الخادم. ووردبريس مضبوطٌ على http والخادمُ يفرض https — فيصحّح كلٌّ منهما الآخر بلا نهاية.
- قاعدتا www وغير www تشير كلٌّ منهما إلى الأخرى. اختر مضيفًا معياريًّا واحدًا ودع الآخر يحوّل إليه، مرّةً واحدة.
- وسيطٌ في المقدّمة يُنهي التشفير. فيرى الخادم http صريحًا، فيقرّر أنّ الزائر يحتاج https، فيحوّل طلبًا هو https سلفًا. وعليه أن يقرأ X-Forwarded-Proto.
- قاعدةُ شرطةٍ ختاميّة تضيف وأخرى تحذف.
ووردبريس على وجه التخصيص
define('WP_HOME','https://yourdomain.com');
define('WP_SITEURL','https://yourdomain.com');
ضبطُ الاثنين في wp-config.php يثبّتهما ويوقف قتالَ قيمة قاعدة البيانات للخادم.
وخلف وسيطٍ أو شبكةِ توصيل، أضف
$_SERVER["HTTPS"] = "on"; حين يكون X-Forwarded-Proto هو https، قبل تحميل ووردبريس. فبدونه لا يستطيع الموقع أن يعرف أنّه آمنٌ سلفًا.وفرّغ مخزن المتصفّح قبل الاختبار. فالتحويلُ 301 يُخزَّن تخزينًا شديدًا، وستظلّ ترى حلقةً لم تعد موجودة.