ربطت دومينك بمنتجك، وعدّلت السجلات في Cloudflare، وفتحت الموقع. بدل الصفحة طلعت لك صفحة من Chrome مكتوب فيها «This page isn't working»، وتحتها «redirected you too many times» و ERR_TOO_MANY_REDIRECTS، ومعها نصيحة «Try deleting your cookies». تمسح الكوكيز وترجع نفس الصفحة. ورابط المعاينة من Lovable أو Vercel يشتغل عادي، الدومين فقط اللي ما يفتح.
إيش يعني بالضبط
التحويل (redirect) رد من السيرفر يقول للمتصفح: «الصفحة مو هنا، روح لهالرابط». الرابط الجديد يجي في سطر اسمه Location داخل رد السيرفر. هذا شي عادي ومفيد، مثل تحويل http إلى https، أو www.example.com إلى example.com.
المشكلة لما يكون فيه طرفين كل واحد يحوّل للثاني. المتصفح يلف بينهم، وبعد عدد من اللفات يوقف ويعرض هذي الرسالة. يعني الخلل غالبًا مو في كود منتجك، الخلل في إعدادات الدومين.
ليش يصير أول ما تربط الدومين
لما يكون Cloudflare في النص بالسحابة البرتقالية (Proxied)، الزائر يكلّم Cloudflare، و Cloudflare يكلّم استضافتك نيابة عنه. صار فيه اتصالين، ولكل واحد إعداداته. وأشهر سببين:
- وضع Flexible في Cloudflare: في صفحة SSL/TLS عند Cloudflare فيه «وضع التشفير». في وضع Flexible، الزائر يوصل لـ Cloudflare على
https، لكن Cloudflare يكلّم استضافتك علىhttpبدون تشفير. Vercel يرد على أي طلبhttpبتحويل لـhttps، وكذلك سيرفرك الخاص إذا ضبطته يفرضhttps. فيرجع الزائر لـ Cloudflare، و Cloudflare يطلب الصفحة من جديد علىhttp، وتبدأ اللفة. Cloudflare نفسه يقول: إذا سيرفرك يحوّل لـhttps، لا تستخدم Flexible. - تحويلين للـ www عكس بعض: الاستضافة عندها تحويل بين
wwwوالدومين بدونها. Lovable افتراضيًا يحوّلwwwللدومين بدونها، و Vercel ينصح بالعكس، و Netlify يحوّل للنسخة اللي اخترتها أساسية. إذا فيه فوقه تحويل ثاني بالاتجاه المعاكس، في قواعد التحويل (Redirect Rules أو Page Rules) في Cloudflare، أو في إعدادات التحويل عند الشركة اللي اشتريت منها الدومين، صار عندك دائرة.
وفيه سبب أقل: خيار «Always Use HTTPS» مفعّل في Cloudflare، وسيرفرك يحوّل https إلى http.
كيف تتأكد بنفسك
- افتح نافذة خاصة (Incognito)، واضغط F12، وافتح تبويب Network، وفعّل خيار Preserve log. بدونه تنمسح الطلبات مع كل تحويل وما تشوف السلسلة.
- اكتب دومينك في الشريط وافتح. بتشوف رابط أو رابطين يتكررون، وجنب كل واحد رقم مثل 301 أو 302 أو 307 أو 308. هذي أرقام التحويل.
- اضغط على واحد منها، وفي تبويب Headers انزل لـ Response Headers، وشوف سطر
Location: هذا الرابط اللي يحوّلك له. إذا نفس الرابط علىhttpsيتكرر ويحوّل لنفسه، غالبًا السبب Flexible. وإذاwwwيحوّل للدومين بدونها، وهو يرجّعك لـwww، فعندك تحويلين عكس بعض. - في لوحة Cloudflare افتح صفحة SSL/TLS ثم Overview، وشوف وضع التشفير. إذا Flexible، هذا أول مشتبه.
- افتح إعدادات الدومين في الاستضافة (Domains في Vercel أو Netlify، أو إعدادات الدومين في Lovable أو Replit)، وشوف أي نسخة أساسية. بعدها دوّر على تحويل ثاني لنفس الدومين في Rules عند Cloudflare، وفي إعدادات التحويل (forwarding) عند شركة الدومين.
الحل اللي لا تسويه
- تشيل تحويل https من سيرفرك عشان يرضى Flexible. اللفة توقف، لكن الطريق بين Cloudflare وسيرفرك يمشي بدون تشفير، وكلمات السر وبيانات الدفع تمر فيه مكشوفة. Cloudflare نفسه ما ينصح بـ Flexible لموقع فيه تسجيل دخول.
- تطلب من Lovable أو Cursor كود يحوّل لـ https أو للـ www. هذا تحويل ثالث فوق الاثنين.
- تختار Full بدون strict. هذا الوضع ما يتأكد من شهادة سيرفرك، فتمر حتى لو منتهية أو سيرفرك أصدرها لنفسه.
الحل الصح
- وضع Full (strict) في Cloudflare: هنا Cloudflare يكلّم استضافتك على
httpsويتأكد إن شهادتها صالحة. Vercel يوصي بهذا الوضع إذا خليت السحابة برتقالية. وعلى سيرفرك الخاص تحتاج شهادة صالحة: مجانية من Let's Encrypt، أو شهادة Origin CA من Cloudflare نفسه. الثانية مخصصة للاتصال بين Cloudflare وسيرفرك، فتشتغل فقط والسحابة برتقالية. - أو السحابة الرمادية (DNS only): Vercel ينصح بالاتصال المباشر إذا تقدر. Lovable يطلب ما تفعّل البرتقالية على سجل
Aوقت الربط، و Replit ما يدعم السجلات البرتقالية لأنه ما يقدر يجدّد شهادتها، و Netlify يطلب توقف مرور Cloudflare عشان يصدر الشهادة. Cloudflare يبقى عندك لإدارة سجلات الدومين، والاستضافة تتكفّل بالشهادة والتحويل. - تحويل واحد في مكان واحد: اختار نسخة أساسية،
wwwأو بدونها، وخلّ الاستضافة هي اللي تحوّل لها، واحذف أي تحويل ثاني لنفس الدومين في Cloudflare أو عند شركة الدومين. وإذا غيّرت النسخة الأساسية، راجع روابط الرجوع في تسجيل الدخول بـ Google، لأنها تفرّق بينwwwوبدونها: شوف درس redirect_uri_mismatch. - بعد التعديل: جرّب في نافذة خاصة، وامسح كوكيز الموقع وبياناته من متصفحك. المتصفح ممكن يحتفظ بتحويل قديم أو كوكيز قديمة، فتشوف اللفة حتى بعد ما ينحل الإعداد.
وإذا الموقع فتح بعدها لكن أجزاء منه فاضية، وفي Console رسالة تبدأ بـ Mixed Content، هذي مشكلة ثانية شرحناها في درس Mixed Content.
تبي أحد يتأكد منها؟
في مكالمة استشارية نشوف Cloudflare والاستضافة معك، ونتتبّع التحويلات ونضبطها، وتعرف إيش تغيّر وليش. لا تعطي أحد كلمة سر Cloudflare: شوف كيف تعطي مبرمج صلاحية بدون كلمة السر. وإذا الدومين واحد من مشاكل كثيرة قبل الإطلاق، تدقيق جاهزية الإطلاق يمر على النشر كله. وشوف بعد يشتغل عندك ثم يتعطّل بعد النشر؟ و مشاكل Lovable الأشهر.