Skip to main content
Bases de Svelte
Introduction
Réactivité
Props
Logique
Évènements
Liaisons
Classes et styles
Actions
Transitions
Svelte avancé
Réactivité avancée
Réutiliser du contenu
Mouvements
Liaisons avancées
Transitions avancées
API de contexte
Éléments spéciaux
<script module>
Next steps
Bases de SvelteKit
Introduction
Routing
Chargement de données
En-têtes et cookies
Modules partagés
Formulaires
Routes d’API
$app/state
Erreurs et redirections
SvelteKit avancé
Hooks
Options de page
Options de lien
Routing avancé
Chargement avancé
Variables d’environnement
Conclusion

Deux URLs comme /foo et /foo/ ont beau se ressembler, elles sont en réalité différentes. Une URL relative comme ./bar va être résolue comme /bar dans le premier cas et comme /foo/bar dans le second ; de plus les moteurs de recherche vont les traiter comme des entrées différentes, impactant négativement votre référencement.

Pour faire court, gérer au petit bonheur la chance les “trailing slashes” (slashs de fin d’URL) est une mauvaise idée. Par défaut, SvelteKit supprime les trailing slashes, ce qui veut dire qu’une requête vers /foo/ va en réalité être redirigée vers /foo.

Si vous préférez vous assurez qu’un trailing slash est toujours présent, vous pouvez préciser l’option trailingSlash de cette manière :

src/routes/always/+page.server
export const trailingSlash = 'always';

Pour gérer les deux situations (nous ne recommendons pas de faire ça), utiliser 'ignore' :

src/routes/ignore/+page.server
export const trailingSlash = 'ignore';

La valeur par défaut est 'never'.

La présence ou non des trailing slashes affecte le pré-rendu. Une URL comme /always/ sera enregistrée sur le disque comme always/index.html alors qu’une URL comme /never sera enregistrée comme never.html.

Modifier cette page sur Github

précédent suivant
1
2
<h1>trailingSlash</h1>