النشر والنطاقات الفرعية
تنشر تطبيقك حيث يناسبك، ثم تطلب له نطاقًا فرعيًا من hasanat.dev إن أردت. يربط مسؤول الخدمات النطاق بالطريقة التي تناسب استضافتك.
النشر من القالب
رابط قسم «النشر من القالب»يستخدم القالب Astro 5 مع Cloudflare Pages: في wrangler.toml السطر pages_build_output_dir = "./dist". تحتاج حسابًا على Cloudflare، ثم:
npx wrangler loginnpm run buildnpx wrangler pages deploy dist/- اضبط في
wrangler.tomlاسم المشروع، وPUBLIC_SITE_URLوPUBLIC_APP_NAMEتحت[vars]. - لا يحتاج تسجيل الدخول المشترك أي سرّ. إن احتاج تطبيقك سرًّا خاصًا به، فاضبطه بالأمر
npx wrangler pages secret put NAME، لا في المستودع. - ملف
public/_headersفي القالب يضيف ترويسات أمان أساسية لكل الصفحات. - انشر بعد نجاح
npm run checkوnpm run buildفقط.
النشر التلقائي من GitHub
رابط قسم «النشر التلقائي من GitHub»يمكنك أن تنشر عند كل دمج في الفرع الرئيسي بـ GitHub Actions:
name: Deployon: push: branches: [main]
jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 - run: npm ci - run: npm run build - uses: cloudflare/wrangler-action@v3 with: apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }} command: pages deploy dist/ --project-name=your-app-nameاحفظ CLOUDFLARE_API_TOKEN سرًّا في إعدادات المستودع على GitHub، لا في الكود.
اطلب نطاقًا فرعيًا
رابط قسم «اطلب نطاقًا فرعيًا»اطلب «نطاق فرعي» من لوحة المنصة بعد أن يعمل تطبيقك. اكتب في الطلب:
- الاسم المطلوب: حروف إنجليزية صغيرة وأرقام وشرطات، في مستوى واحد، مثل
your-app.hasanat.dev. لا يقبل تسجيل الدخول المشترك نطاقًا من مستويين مثلapp.your-app.hasanat.dev. - أين يعمل التطبيق: مشروع Cloudflare Pages أو Worker، وفي أي حساب، أو استضافة أخرى.
- رابطه الحالي: مثل
your-app.pages.dev.
كيف يُربط النطاق
رابط قسم «كيف يُربط النطاق»Worker في حساب حسنات
رابط قسم «Worker في حساب حسنات»- أنت: لا شيء.
- مسؤول الخدمات: يضيف الاسم للـ Worker نطاقًا مخصّصًا (Custom Domain)، فينشئ Cloudflare سجل DNS والشهادة.
مشروع Pages في حساب حسنات
رابط قسم «مشروع Pages في حساب حسنات»- أنت: لا شيء.
- مسؤول الخدمات: يضيف النطاق في إعدادات المشروع، فينشئ Cloudflare سجل DNS.
مشروع Pages في حسابك
رابط قسم «مشروع Pages في حسابك»- أنت: أضف النطاق أولًا: Workers & Pages ← مشروعك ← Custom domains ← Set up a domain.
- مسؤول الخدمات: يضيف سجل CNAME يشير إلى
your-app.pages.dev.
استضافة أخرى، مثل Vercel أو Netlify
رابط قسم «استضافة أخرى، مثل Vercel أو Netlify»- أنت: أضف النطاق في إعدادات الاستضافة، وانقل إلى الطلب السجلات التي تطلبها.
- مسؤول الخدمات: يضيف سجلات DNS كما طلبتها الاستضافة.
Worker في حسابك على Cloudflare
رابط قسم «Worker في حسابك على Cloudflare»لا يمكن ربطه مباشرة، لأن Cloudflare يشترط أن يكون الـ Worker في الحساب الذي يملك نطاق hasanat.dev. اتفقا في الطلب على النشر على Pages، أو في حساب حسنات.
بعد الربط افتح https://name.hasanat.dev وتأكّد أن الصفحة تعمل بشهادة صحيحة. إن كان تطبيقك يستخدم تسجيل الدخول المشترك، فجرّبه الآن: لا يعمل على localhost ولا على *.pages.dev أو *.workers.dev.
الاستضافة خارج Cloudflare
رابط قسم «الاستضافة خارج Cloudflare»لست مضطرًا لاستخدام Cloudflare. انشر تطبيقك على أي منصة، واطلب نطاقًا فرعيًا يشير إليه. يعمل تسجيل الدخول المشترك حين يُعرض التطبيق على النطاق الفرعي من hasanat.dev، إن كان خادم تطبيقك يسأل خدمة الدخول عن الجلسة كما في تسجيل الدخول.