d79aa912b1
- astro.config: site=https://insanitylab.it, allowedDomains apex+www+tielogic - compose/Traefik: router serve insanitylab.it e (in transizione) tielogic.xyz; www.insanitylab.it redirige 301 all'apex. TLS Let's Encrypt via certresolver. tielogic resta servito per non avere downtime finché il DNS non propaga; il suo redirect all'apex verra' attivato dopo la conferma che il dominio e' live. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
30 lines
1.4 KiB
JavaScript
30 lines
1.4 KiB
JavaScript
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' },
|
|
},
|
|
});
|