Articles sur : 🌍 Hébergement web
Cet article est aussi disponible en :

Comment configurer des redirections et des en-têtes HTTP personnalisés avec Hodifly ?

Hodifly prend en charge les fichiers _redirects et _headers un peu comme sur Netlify pour les sites statiques. Placez-les à la racine de votre sortie publiée (le dossier de build configuré sur Hodifly).


Ces fichiers s'appliquent aux déploiements statiques. Les applications Node et Python gèrent leur propre routage et leurs en-têtes dans le code.


_redirects


Une règle par ligne : source destination [statut]. Les lignes vides et les commentaires # sont ignorés. Si vous omettez le statut, 301 est utilisé.


# redirection permanente
/old-page /new-page 301

# redirection temporaire
/promo /summer-sale 302

# redirection vers un site externe (les URL complètes sont conservées telles quelles)
/discord https://discord.gg/xyz 302

# joker : :splat correspond à tout ce qui a été capturé par le * final
/blog/* /news/:splat 301

# repli SPA : servir index.html pour tout chemin inconnu (statut 200 = réécriture, URL inchangée)
/* /index.html 200


Bon à savoir :


  • Les vrais fichiers et dossiers l'emportent d'abord. Un fichier ou un répertoire existant est toujours servi avant toute règle de redirection : vos ressources continuent de fonctionner, et un repli SPA /* → /index.html 200 ne s'active que pour les chemins qui n'existent pas sur le disque.
  • Le statut 200 signifie réécriture (servir la destination sans changer l'URL) : c'est ce qui fait fonctionner les replis d'application monopage.
  • :splat est le seul motif pris en charge ; il capture tout ce qui correspond à un * final.
  • Les chaînes de requête sont conservées lors des redirections et réécritures.


Non pris en charge (tenez-vous-en au sous-ensemble ci-dessus) : les motifs nommés comme /:year/:month, les règles conditionnelles (pays, langue, cookie, rôle) et les indicateurs de forçage (force flags).


_headers


Une ligne de chemin commençant par /, suivie de lignes d'en-tête Nom : valeur indentées. Les commentaires # sont ignorés.


# appliquer à chaque réponse
/*
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin

# appliquer uniquement sous un chemin précis
/assets/*
Cache-Control: public, max-age=31536000, immutable


Bon à savoir :


  • /* ou / applique les en-têtes à l'ensemble du site.
  • Un chemin précis comme /assets/* les applique aux requêtes sous ce chemin.

Mis à jour le : 12/07/2026

Cet article a-t-il répondu à vos questions ?

Partagez vos commentaires

Annuler

Merci !