Some checks are pending
CI / validate (push) Waiting to run
- STATUS.md: Landing-Cutover-Notiz (2026-05-22, wordeck.com → Marketing, app.wordeck.com → Web-App, robots.txt geöffnet). - nginx.conf: AASA application/json (beide Bundle-IDs cardecky+wordeck) + 301-Redirects für d/*, u/*, account, auth/*, cards, decks, study, etc. - AASA-File statisch in public/.well-known/ kopiert. - marketing-kit auf ^0.3.0. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
56 lines
1.8 KiB
Nginx Configuration File
56 lines
1.8 KiB
Nginx Configuration File
# nginx config für wordeck-landing — Astro statisch, no SPA fallback.
|
|
#
|
|
# Astro baut mit format='file' und trailingSlash='never', d.h.
|
|
# /anki-import → /anki-import.html. try_files-Kette deckt das ab.
|
|
|
|
server {
|
|
listen 80 default_server;
|
|
server_name _;
|
|
root /usr/share/nginx/html;
|
|
index index.html;
|
|
|
|
# Plain-Text-Endpoints (Astro-API-Routes wurden als .txt/.xml gebaut).
|
|
location = /robots.txt {
|
|
default_type "text/plain; charset=utf-8";
|
|
try_files $uri =404;
|
|
}
|
|
location = /llms.txt {
|
|
default_type "text/plain; charset=utf-8";
|
|
try_files $uri =404;
|
|
}
|
|
location = /sitemap.xml {
|
|
default_type "application/xml; charset=utf-8";
|
|
try_files $uri =404;
|
|
}
|
|
|
|
# Apple Universal Links — AASA muss als application/json ausgeliefert
|
|
# werden (kein charset-Suffix, keine Redirects). Beide Bundle-IDs:
|
|
# ev.mana.cardecky (Legacy) und ev.mana.wordeck (aktuell, ab Ω-3).
|
|
location = /.well-known/apple-app-site-association {
|
|
default_type "application/json";
|
|
try_files $uri =404;
|
|
}
|
|
|
|
# Alt-Bookmarks von wordeck.com (App-Pfade vor dem Subdomain-Switch
|
|
# 2026-05-22) → 301 auf app.wordeck.com. Erhält Permalinks und
|
|
# klärt Cookie-Scope (App lebt jetzt auf der app-Subdomain).
|
|
location ~ ^/(d|u|account|auth|cards|decks|explore|help|import|me|offline|stats|study|datenschutz|privacy)(/.*)?$ {
|
|
return 301 https://app.wordeck.com$request_uri;
|
|
}
|
|
|
|
# Canonical paths → .html siblings; unknown paths 404.
|
|
location / {
|
|
try_files $uri $uri.html $uri/ =404;
|
|
}
|
|
|
|
# Astro asset bundles → long-cache.
|
|
location /_astro/ {
|
|
expires 1y;
|
|
add_header Cache-Control "public, immutable";
|
|
}
|
|
|
|
# Standard MIME-Optimierungen.
|
|
gzip on;
|
|
gzip_types text/plain text/css text/javascript application/javascript application/json application/xml application/manifest+json image/svg+xml;
|
|
gzip_min_length 1024;
|
|
}
|