chore: همگامسازی وضعیت زندهٔ سرور با مخزن
شامل کارهای چند نشست موازی که تا اینجا فقط روی سرور بود: - نقشهٔ دفتر مرکزی در فوتر (LazyOfficeMap) + MapViewport/LazyMaps/mapProjects - صفحهٔ مدیریت مقالات (AdminArticlesPage) + میانبر ویرایش پیشنویس در وبلاگ - مهاجرت ۰۰۰۴: updated_at مقالات/پروژهها - chatbot/Dockerfile: نصب دومرحلهای torch (کاربردی برای PyPI فیلترشده) - seed: خالیکردن آمارهای دموی story - docker-compose: اصلاح پسوند @file میانافزارهای Traefik - حذف فایل موقت frontend/.tmp-style.json و اصلاحات جزئی UI با این کامیت، آنچه روی سرور اجرا میشود Exactly همان چیزی است که در مخزن ثبت شده.
This commit is contained in:
+20
-2
@@ -24,12 +24,30 @@
|
||||
file_server
|
||||
}
|
||||
|
||||
# مسیریابی SPA — فقط مسیرهای بدون پسوند (مسیرهای اپ) به index.html برمیگردند
|
||||
handle {
|
||||
# مسیرهای پنل ادمین فقط SPA هستند و فایلی پشتشان نیست؛ پوسته باید با
|
||||
# وضعیت ۲۰۰ سرو شود وگرنه قاعدهٔ ۴۰۴ مسیرهای ناشناخته پنل را هم میبندد
|
||||
# (و لبهٔ Traefik بهجای پوسته، صفحهٔ خطای خودش را نشان میدهد). فهرست
|
||||
# مسیرهای ادمین در App.tsx است؛ مسیر تازهٔ ادمین یعنی افزودن الگوی آنجا و اینجا.
|
||||
# robots.txt از قبل /admin را برای خزندهها میبندد؛ این مسیرها ایندکس نمیشوند.
|
||||
@admin path /admin /admin/*
|
||||
handle @admin {
|
||||
try_files {path} /index.html
|
||||
file_server
|
||||
}
|
||||
|
||||
# مسیرهای واقعی اپ همگی سمت بکاند سرو میشوند (روتر seo ترافیک را میبرد)؛
|
||||
# پس به اینجا فقط مسیر ناشناخته میرسد — باید ۴۰۴ بدهد، نه پوستهٔ ۲۰۰ (نرم۴۰۴)
|
||||
handle {
|
||||
try_files {path}
|
||||
file_server
|
||||
}
|
||||
|
||||
# خطاها با پوستهٔ برند دیده میشوند — وضعیت ۴۰۴ حفظ میشود تا خزنده ایندکس نکند
|
||||
handle_errors {
|
||||
rewrite * /index.html
|
||||
file_server
|
||||
}
|
||||
|
||||
# index.html و fallback اسپا: بدون کش مرورگر تا هر استقرار فوری دیده شود
|
||||
header Cache-Control "no-cache"
|
||||
# فایلهای ثابت (فونت/تصویر): یک ساعت کش مرورگر
|
||||
|
||||
Reference in New Issue
Block a user