فرض HTTPS على موقعك
أعِد توجيه كل زيارات HTTP إلى HTTPS عبر مفتاح cPanel، أو إضافة ووردبريس، أو قاعدة في .htaccess، ثم عالج المحتوى المختلط بعدها.
أرسل كل زائر إلى النسخة الآمنة من موقعك، فلا يصل إليه أحد عبر HTTP عادي. ينطبق على الاستضافة المشتركة والموزِّعة.
قبل أن تبدأ
تحتاج شهادة SSL عاملة على النطاق أولًا. ففرض HTTPS بدونها يعطي كل زائر تحذيرًا أمنيًا في المتصفح بدل موقعك. راجع تثبيت شهادة SSL مجانية.
تأكّد أن الشهادة تعمل بزيارة https://example.com مباشرة. فإن حُمّل الموقع دون
تحذير، فتابع.
أبسط طريقة: مفتاح cPanel
وهذا هو الخيار الصحيح لأي موقع تقريبًا. فهو يُطبَّق على مستوى خادم الويب، قبل أن يعمل أي كود تطبيق.
- في cPanel، افتح Domains.
- اعثر على نطاقك في القائمة.
- فعّل Force HTTPS Redirect.

ويسري التغيير فورًا.
ولعدة نطاقات دفعة واحدة، علّمها في العمود الجانبي واستخدم Enable Force HTTPS Redirect فوق الجدول. فلا تحرير ملفات، ولا شيء تتراجع عنه لاحقًا إن غيّرت مستضيفك.
مواقع ووردبريس
يتولّى مفتاح cPanel إعادة التوجيه، لكن ووردبريس يخزّن عنوانه بنفسه أيضًا، ويجب
أن يتطابق — وإلا ظل ووردبريس يولّد روابط http:// ويعيد توجيه الزوار ذهابًا
وإيابًا.
- في ووردبريس، انتقل إلى Settings ← General.
- اضبط كلًا من WordPress Address (URL) وSite Address (URL) على
https://example.com. - اختر Save Changes.
وإن كان الموقع يحوي كثيرًا من روابط http:// المضمَّنة في محتواه، فإن إضافة
Really Simple SSL تعيد
كتابتها أثناء تقديم الصفحات، فتوفّر عليك تحريرها كلها يدويًا.
استخدام .htaccess بدلًا من ذلك
استخدم هذا فقط إن كنت تحتاج سلوكًا شرطيًا لا يعبّر عنه مفتاح cPanel — مثل فرض HTTPS على مجلد فرعي دون آخر.
أضف هذا في أعلى ملف .htaccess في جذرك المستنَدي، فوق أي قواعد إعادة كتابة
قائمة:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]يجب أن يكون كل توجيه في سطره الخاص. فقد جمعتها نسخة أقدم من هذه المقالة في سطر واحد، وهو ما يرفضه Apache — فإن كنت قد نسخت تلك النسخة وأعاد موقعك خطأ 500، فهذا هو السبب.
وهنا تفصيلان مهمّان:
R=301لاRوحدها. فـRالمجرّدة تصدر إعادة توجيه مؤقتة، فتظل محركات البحث تعامل رابط HTTP بوصفه الأصل ولا يوحّد التغيير ترتيبك أبدًا. أما301فدائمة.%{HTTP_HOST}لا نطاق مكتوب صراحة. فتظل القاعدة عاملة لكل نطاق ونطاق فرعي في الحساب، بما في ذلك بعد تغيير النطاق.
تأكّد أنه نجح
curl -sI http://example.com | head -n 3وتريد HTTP/1.1 301 Moved Permanently وترويسة Location: تشير إلى عنوان
https://. أما 302 فتعني أن إعادة التوجيه مؤقتة — تأكّد أنك استخدمت R=301.
إن ظل المتصفح يعرض «غير آمن»
فإعادة التوجيه تعمل لكن الصفحة تحمّل صورًا أو سكربتات أو أوراق أنماط عبر HTTP. وذلك محتوى مختلط، وعلاجه منفصل — راجع أخطاء المحتوى المختلط.
إن حصلت حلقة إعادة توجيه
فسببها في الغالب دائمًا فرض HTTPS في مكانين معًا — وشائعًا مفتاح cPanel مع
قاعدة .htaccess مع إضافة. اختر واحدًا وأزل البقية.
والمواقع خلف Cloudflare تقع في هذا أيضًا حين يكون وضع SSL في Cloudflare Flexible: فتطلب Cloudflare أصلك عبر HTTP، ويعيد خادمك التوجيه إلى HTTPS، وهكذا دواليك. اضبط وضع SSL في Cloudflare على Full (strict).