import { defineConfig } from 'astro/config'; import node from '@astrojs/node'; export default defineConfig({ site: 'https://insanitylab.it', output: 'server', // Dietro Traefik il TLS termina al proxy: senza allowedDomains Astro ignora // X-Forwarded-Proto/Host e il checkOrigin CSRF respinge i POST (403). // Dominio ufficiale insanitylab.it (canonico apex); www e il vecchio // sottodominio tielogic.xyz redirigono all'apex a livello Traefik. security: { allowedDomains: [ { hostname: 'insanitylab.it', protocol: 'https' }, { hostname: 'www.insanitylab.it', protocol: 'https' }, { hostname: 'insanitylab.tielogic.xyz', protocol: 'https' }, ], }, adapter: node({ mode: 'standalone' }), // La sezione "Programmi" è stata rinominata "Servizi": redirect permanenti dai vecchi URL. redirects: { '/programs': { status: 301, destination: '/services' }, '/programs/[slug]': { status: 301, destination: '/services/[slug]' }, // Modifiche 02: "Pilates Flow" → "Profilazione". "Rehab" esce dalla griglia Servizi e // diventa un riquadro Training, ma la pagina dettaglio resta su /services/rehab. '/services/pilates-flow': { status: 301, destination: '/services/profilazione' }, // "Personal Training" rinominato "One to One" (nuovo slug); Small Group è una pagina a sé. '/services/personal-training': { status: 301, destination: '/services/one-to-one' }, }, });