# Piège Apache (o2switch) : « Index of /… » au lieu des pages Symptôme : le site est déployé sur un hébergement mutualisé Apache (o2switch), la page d'accueil s'affiche, mais **cliquer sur un lien interne affiche « Index of /chatcontrol/quiz »** (un listing de dossier) au lieu de la page. ## Cause : conflit fichier / dossier SvelteKit (adapter-static, `trailingSlash` par défaut = `'never'`) génère : ``` build/ ├── quiz.html ← la page ├── quiz/ ← dossier créé pour __data.json │ └── __data.json ├── outils.html ├── outils/ │ └── … ``` Quand le navigateur demande `/chatcontrol/quiz`, Apache voit qu'un **dossier** `quiz/` existe et redirige (301) vers `/chatcontrol/quiz/`. Comme ce dossier ne contient pas de `index.html`, Apache sert son **autoindex** (le listing). Le fichier `quiz.html`, lui, n'est jamais trouvé. Apache donne toujours la priorité au dossier quand les deux existent — ce problème revient à chaque site statique posé sur du mutualisé Apache. ## Correctif (déjà appliqué dans ce dépôt) `frontend/src/routes/+layout.ts` : ```ts export const trailingSlash = 'always' ``` Chaque page est alors générée **dans** son dossier : ``` build/ ├── quiz/ │ ├── index.html ← la page, servie par Apache │ └── __data.json ├── outils/ │ ├── index.html │ └── aegis/ │ └── index.html ``` Plus de conflit possible : le dossier existe, il contient un `index.html`, Apache le sert. ## Checklist quand ça arrive 1. `export const trailingSlash = 'always'` dans le `+layout.ts` racine. 2. `pnpm build` → vérifier que `build/quiz/index.html` existe (et non `build/quiz.html`). 3. **Vider le dossier distant avant de re-uploader** : les anciens `quiz.html` / `outils.html` et les vieux assets `_app/immutable/` hashés doivent partir, sinon ils traînent indéfiniment. 4. Tester `curl -s https:////` → du HTML, pas « Index of ». Note : les liens internes relatifs (`./outils`) provoquent une petite redirection 301 vers l'URL avec `/` final. Normal, invisible pour l'utilisateur. L'éviter exigerait `paths.relative: false`, au prix de la consultation locale des fichiers du build.