140146fce1
- services.ts: nuovi servizi profilazione (copy bozza dal metodo ISL) e osteopatia (copy dal documento cliente); rehab esce da Servizi (va in Training). - Redirect 301 dai vecchi slug: pilates-flow -> profilazione, rehab -> training. - Footer, icone, sitemap e meta aggiornati; migrazione DB idempotente per le label footer e la meta description (contenuti live in SQLite). - Immagine osteopatia riusa la foto rehab (come da mockup cliente). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017rUFjLYZ1TZ7DgxwTR5q9K
22 lines
974 B
JavaScript
22 lines
974 B
JavaScript
import { defineConfig } from 'astro/config';
|
|
import node from '@astrojs/node';
|
|
|
|
export default defineConfig({
|
|
site: 'https://insanitylab.tielogic.xyz',
|
|
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).
|
|
security: {
|
|
allowedDomains: [{ 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 da Servizi e passa a Training.
|
|
'/services/pilates-flow': { status: 301, destination: '/services/profilazione' },
|
|
'/services/rehab': { status: 301, destination: '/training' },
|
|
},
|
|
});
|