Rediriger les anciennes URLs du forum vers les nouvelles URLs de Discourse à l'aide de permaliens

:bookmark: Cette référence explique comment les permaliens Discourse redirigent les anciens chemins d’URL vers de nouvelles destinations, comment fonctionnent les normalisations de permaliens, et comment tester et résoudre les problèmes de redirection après une migration ou un changement de structure d’URL.

:person_raising_hand: Niveau utilisateur requis : Administrateur

:computer: L’accès à la console n’est requis que lors de la création de permaliens à partir d’un programme d’importation, d’un script ou de la console Rails.

Lorsque vous migrez depuis un autre forum ou modifiez la structure d’URL de votre site, les anciens liens provenant des moteurs de recherche, des signets, des e-mails ou d’autres sites web peuvent ne plus pointer vers la bonne page.

Les permaliens vous permettent de rediriger les anciens chemins d’URL vers leurs nouvelles destinations en utilisant des redirections 301 Moved Permanently (Déplacé de façon permanente).

Les permaliens sont des mappages de chemins exacts. Par exemple, si cette ancienne URL ne fonctionne plus :

https://discourse.example.com/forum/topic/123

vous pouvez créer un permalink afin qu’il redirige vers le nouveau sujet :

https://discourse.example.com/t/welcome-to-our-community/456

Que sont les permaliens

Un permalink est une correspondance exacte entre un ancien chemin d’URL et une nouvelle destination.

Par exemple :

forum/topic/123 → /t/welcome-to-our-community/456

Les permaliens sont utiles lorsque :

  • vous avez migré depuis une autre plateforme de forum
  • d’anciens liens sont indexés par les moteurs de recherche
  • d’anciens liens sont utilisés dans des e-mails, de la documentation ou d’autres sites web
  • vous avez modifié la structure des URL de votre site
  • vous souhaitez qu’un ancien chemin redirige vers un sujet, un message, une catégorie, un tag, un utilisateur ou une URL externe

Chaque URL de permalink correspond à une seule destination.

Les permaliens sont des correspondances exactes. Le champ URL du permalink ne prend pas en charge les caractères génériques (wildcards) ni les expressions régulières. Si de nombreuses anciennes URL suivent un modèle prévisible, utilisez les normalisations de permaliens pour transformer les URL entrantes avant la recherche exacte du permalink.

Permalinks et normalisations

Les permaliens et les normalisations font des choses différentes :

Fonctionnalité Ce qu’elle fait Exemple
Permalink Redirige un ancien chemin enregistré vers une destination old/topic/123 → Sujet 456
Normalisation Modifie le chemin entrant avant la recherche du permalink old/topic/123-title → old/topic/123

Une normalisation ne redirige pas par elle-même. Elle modifie uniquement le chemin utilisé pour rechercher un permalink enregistré.

Vous avez toujours besoin d’un permalink correspondant une fois la normalisation appliquée.

Exemples rapides

Rediriger une ancienne URL de sujet

Ancienne URL :

https://discourse.example.com/forum/topic/123

URL du permalink :

forum/topic/123

Type de destination :

Sujet

Destination :

456

Résultat :

/forum/topic/123 → /t/welcome-to-our-community/456

Rediriger une ancienne URL avec une chaîne de requête

Ancienne URL :

https://discourse.example.com/viewtopic.php?t=123

URL du permalink :

viewtopic.php?t=123

Type de destination :

Sujet

Destination :

456

Résultat :

/viewtopic.php?t=123 → /t/welcome-to-our-community/456

Rediriger de nombreuses anciennes URL avec le même modèle

Anciennes URL :

/forum/support/123-how-do-i-reset-my-password.html
/forum/general/456-how-do-i-change-my-email.html

Vous pouvez utiliser une normalisation pour les simplifier avant la recherche :

/forum/support/123-how-do-i-reset-my-password.html → forum/123
/forum/general/456-how-do-i-change-my-email.html → forum/456

Puis créez des permaliens exacts :

forum/123 → Sujet 1001
forum/456 → Sujet 1002

Que saisir comme URL de permalink

Saisissez l’ancien chemin, et non l’URL complète.

Par exemple, utilisez :

forum/topic/123

ou :

/forum/topic/123

N’utilisez pas l’URL complète de l’ancienne URL :

https://discourse.example.com/forum/topic/123

Les barres obliques initiales sont acceptées, mais elles sont supprimées lors de l’enregistrement du permalink. Ces deux entrées sont équivalentes :

/forum/topic/123
forum/topic/123

Les deux sont stockées sous la forme :

forum/topic/123

Les espaces en début et en fin de chaîne sont supprimés lors de l’enregistrement du permalink.

Les chaînes de requête font partie de la correspondance

Les permaliens correspondent au chemin de la requête complet, y compris la chaîne de requête.

Cela signifie que ces deux URL sont des correspondances de permalink différentes :

/old/topic/123
/old/topic/123?utm_source=example

Si l’ancienne URL contient une chaîne de requête, soit :

  1. créez un permalink qui inclut la chaîne de requête, ou
  2. utilisez une normalisation de permalink pour supprimer ou simplifier la chaîne de requête avant la correspondance

Pour la plupart des paramètres d’analyse ou de suivi, l’utilisation d’une normalisation est généralement préférable à la création de nombreux permaliens distincts.

Par exemple, ce permalink enregistré :

docs/123

ne correspond pas nécessairement à cette URL demandée :

/docs/123?utm_source=newsletter

à moins qu’une normalisation ne supprime la chaîne de requête avant la recherche.

Lors de la copie d’anciennes URL depuis des outils d’analyse, des rapports de console de recherche, des navigateurs ou des campagnes e-mail, vérifiez si des paramètres de suivi ont été ajoutés.

Les fragments d’URL ne font pas partie de la correspondance

Les fragments d’URL ne sont pas envoyés au serveur.

Par exemple, cette URL :

/old/topic#post-12

arrive sur le serveur sous la forme :

/old/topic

Un permalink ou une normalisation ne peut pas correspondre à :

#post-12

à moins que le caractère # ne soit encodé dans la requête réelle sous la forme %23.

Destinations de permaliens prises en charge

Un permalink peut rediriger vers l’un des types de destination suivants :

  • Sujet
  • Message
  • Catégorie
  • Tag
  • Utilisateur
  • URL externe ou relative

Les destinations d’URL externe ou relative peuvent être utilisées pour des redirections telles que :

old/privacy-policy → https://archive.discourse.example.com/privacy

ou :

old/preferences → /my/preferences

Utilisez les destinations d’URL externe avec précaution. Elles redirigent les visiteurs hors de votre site et ne vérifient pas si l’URL cible existe.

Privilégiez les types de destination internes lorsque vous redirigez vers des sujets, messages, catégories, tags ou utilisateurs migrés. Utilisez une destination d’URL externe lorsque la page cible n’est pas représentée par un objet interne.

Ajouter un permalink manuellement

Pour ajouter un permalink manuellement :

  1. Accédez à /admin/config/permalinks.
  2. Sélectionnez l’onglet Permalinks.
  3. Cliquez sur Ajouter un permalink.
  4. Saisissez l’ancien chemin dans le champ URL.
  5. Sélectionnez le Type de permalink.
  6. Saisissez ou sélectionnez la destination.
  7. Enregistrez le permalink.
  8. Testez l’ancienne URL dans un navigateur ou avec curl.

Exemple :

URL :
forum/topic/123

Type de permalink :
Sujet

Destination :
456

Une requête vers :

https://discourse.example.com/forum/topic/123

redirigera vers le sujet 456.

Valeurs de destination

La valeur de destination dépend du type de permalink.

Type de permalink Destination
Sujet Un sujet
Message Un message
Catégorie Une catégorie
Tag Un tag
Utilisateur Un utilisateur
URL externe ou relative Une URL externe complète ou un chemin relatif

Exemples :

forum/topic/123 → Sujet 456
forum/post/789 → Message 789
forum/category/support → Catégorie support
forum/tag/example → Tag example
forum/user/alice → Utilisateur alice
old/privacy → https://archive.discourse.example.com/privacy
old/preferences → /my/preferences

Création de permaliens lors d’une migration

De nombreux programmes d’importation officiels créent automatiquement des permaliens pour les catégories, sujets, messages ou utilisateurs migrés.

Pour les grandes migrations, les permaliens sont généralement créés par le programme d’importation ou par un script de migration plutôt que saisis manuellement un par un.

Si vous rédigez un programme d’importation personnalisé, créez des enregistrements de permalink pour les anciennes URL qui doivent continuer à fonctionner après la migration.

Par exemple :

Permalink.create!(url: "discussion/12345", topic_id: 987)

Dans cet exemple, discussion/12345 est l’ancien chemin, et 987 est l’ID du sujet Discourse.

Une barre oblique initiale est également acceptée :

Permalink.create!(url: "/discussion/12345", topic_id: 987)

Les deux exemples stockent l’URL du permalink sous la forme :

discussion/12345

Pour rediriger vers une URL externe :

Permalink.create!(
  url: "discussion/12345",
  external_url: "https://archive.discourse.example.com/discussion/12345"
)

Lors de la création de permaliens dans un programme d’importation :

  • stockez l’ancien chemin, et non le domaine ancien complet
  • incluez la chaîne de requête uniquement si elle est nécessaire pour la correspondance
  • assurez-vous que chaque ancien chemin correspond à une seule destination
  • vérifiez les doublons avant d’insérer des enregistrements
  • rappelez-vous que les URL de permalink doivent être uniques

Si vous effectuez plusieurs migrations de test, les ID finaux des sujets et des messages peuvent changer entre les exécutions. Générez ou vérifiez vos mappages de permalink finaux lorsque les données de migration en production sont stables.

Que sont les normalisations de permaliens

Une normalisation de permalink modifie un ancien chemin entrant avant de rechercher un permalink correspondant.

Les normalisations sont utiles lorsque de nombreuses anciennes URL suivent le même modèle prévisible.

Par exemple, supposons que votre ancien forum utilisait des URL comme celle-ci :

/forum/support/123-how-do-i-reset-my-password.html

mais que votre permalink enregistré est plus simple :

forum/123

Une normalisation peut transformer la requête entrante en chemin de permalink enregistré :

/forum/support/123-how-do-i-reset-my-password.html
        ↓
forum/123

Ensuite, le permalink peut rediriger :

forum/123 → /t/how-do-i-reset-my-password/456

Une normalisation ne redirige pas par elle-même. Elle modifie uniquement le chemin utilisé pour la recherche de permalink.

Vous avez toujours besoin d’un permalink correspondant pour le chemin normalisé.

La plupart des sites n’ont pas besoin de normalisations de permaliens. Utilisez-les uniquement lorsque de nombreuses anciennes URL suivent un modèle prévisible et que la création d’un permalink par ancienne URL serait peu pratique.

Comment les permaliens et les normalisations fonctionnent ensemble

Lorsqu’une ancienne URL est demandée, le processus est le suivant :

Le visiteur demande une ancienne URL
        ↓
Les normalisations de permalink sont appliquées, si configurées
        ↓
Une recherche de permalink est effectuée à l’aide du chemin résultant
        ↓
Si un permalink correspondant existe, le visiteur est redirigé

Par exemple :

URL demandée :
/old/topic/123?utm_source=newsletter

La normalisation la modifie en :
old/topic/123

Le permalink la redirige vers :
/t/new-topic-title/456

Ajouter une normalisation de permalink

Les normalisations de permalink sont configurées depuis les paramètres de permalink.

Pour en ajouter une :

  1. Accédez à /admin/config/permalinks.
  2. Sélectionnez l’onglet Paramètres.
  3. Ajoutez une règle au paramètre permalink normalizations.
  4. Enregistrez le paramètre.
  5. Testez une ancienne URL qui doit être normalisée.
  6. Confirmez que le chemin normalisé correspond à un permalink existant.

La syntaxe est :

/<regex>/<replacement>

Plusieurs règles sont séparées par |.

Par exemple :

/old\/topic\/(\d+).*/topic/\1

Cela peut transformer :

old/topic/123-my-old-title

en :

topic/123

Le remplacement utilise la syntaxe de remplacement Ruby, donc les groupes de capture s’écrivent :

\1
\2
\3

Règles importantes pour les normalisations

Gardez les règles de normalisation simples.

  • Les normalisations utilisent des expressions régulières Ruby.
  • Les caractères / littéraux dans la partie regex doivent être échappés avec \/.
  • Les caractères / littéraux dans la partie de remplacement n’ont pas besoin d’être échappés.
  • Plusieurs règles de normalisation sont séparées par |.
  • Parce que | sépare les règles, évitez d’utiliser l’alternance regex avec |.
  • Chaque règle utilise un seul remplacement, et non un remplacement global.
  • Les règles sont appliquées dans l’ordre.
  • Les règles correspondantes sont appliquées séquentiellement.
  • Les normalisations sont appliquées avant la recherche de permalink.
  • Les normalisations sont également appliquées lors de l’enregistrement des enregistrements de permalink.
  • Le validateur de paramètre détecte les expressions régulières invalides, mais il peut ne pas détecter chaque règle qui se comporte différemment de ce qui est prévu.

:warning: Avertissement : Les normalisations sont appliquées lorsque les enregistrements de permalink sont enregistrés. Si vous saisissez une URL non normalisée dans l’interface d’administration, elle peut être stockée sous la forme du résultat normalisé. Si vous ajoutez ou modifiez des normalisations après avoir créé des permaliens, testez soigneusement et vérifiez comment les nouvelles URL de permalink enregistrées sont stockées.

Exemples de normalisation

Rediriger une ancienne URL avec du texte de titre supplémentaire

Anciennes URL :

/forum/support/123-how-do-i-reset-my-password.html
/forum/general/456-how-do-i-change-my-email.html

Vous pouvez les normaliser vers des chemins de permalink plus simples :

forum/123
forum/456

Exemple de normalisation :

/forum\/[^\/]+\/(\d+).*/forum/\1

Puis créez des permaliens :

forum/123 → Sujet 1001
forum/456 → Sujet 1002

Ignorer les chaînes de requête de suivi

URL demandée ancienne :

/docs/123?utm_source=newsletter

Permalink enregistré :

docs/123

Normalisation :

/(docs\/\d+)\?.*/\1

Cela supprime la chaîne de requête avant la recherche de permalink.

Préserver un paramètre de requête important

Certains anciens forums utilisent des paramètres de requête comme identifiant stable du sujet.

Par exemple :

viewtopic.php?f=10&t=123
viewtopic.php?t=123

Vous pouvez souhaiter normaliser ces URL vers :

viewtopic.php?t=123

Exemple de normalisation :

/(viewtopic\.php\?)(?:.*&)?(t=\d+).*/\1\2

Puis créez un permalink :

viewtopic.php?t=123 → Sujet 456

Redirections par regex et caractères génériques

Le champ URL de permalink ne prend pas en charge les regex ou les caractères génériques.

Cela ne fonctionnera pas en tant qu’URL de permalink :

forum/topic/*

Cela ne fonctionnera pas non plus en tant qu’URL de permalink :

forum/topic/(\d+)

Si vous avez besoin d’une gestion basée sur des modèles, utilisez une normalisation de permalink pour réécrire l’URL entrante sous une forme qui peut correspondre à un permalink enregistré exact.

Par exemple :

/forum/topic/123-title → forum/topic/123

Puis créez un permalink exact normal :

forum/topic/123 → Sujet 456

Précédence des routes et chemins intégrés

Le routage des permaliens est vérifié après les routes d’application normales.

Cela signifie qu’une route existante valide peut se résoudre normalement avant qu’un permalink ne soit vérifié.

Soyez prudent avec les anciennes URL qui commencent par des chemins intégrés tels que :

/t
/c
/u
/tag
/tags

Par exemple, une ancienne URL de forum comme celle-ci peut ressembler à une route de catégorie intégrée :

/c/blog/old-platform-url/ba-p/12345

Si une ancienne URL entre en conflit avec une route existante valide, la route valide peut prendre le dessus sur le permalink.

De même, si vous créez un permalink pour un chemin qui ressemble à une route de sujet existante, telle que :

t/123

la route de sujet normale peut être traitée avant la recherche de permalink.

Certaines routes intégrées de « non trouvé » ont un comportement de secours supplémentaire, mais vous ne devez pas compter dessus. Testez toujours les anciennes URL qui chevauchent les chemins intégrés.

Si vous souhaitez qu’une ancienne URL de sujet redirige vers ailleurs, l’ancienne sujet ne doit généralement plus se résoudre en tant que route de sujet valide.

Permissions et contenu privé

Les permaliens vers des destinations internes respectent les permissions normales.

Si un permalink pointe vers un sujet, message, catégorie, tag ou utilisateur privé ou restreint, les visiteurs qui ne peuvent pas accéder à cette destination recevront un 404 au lieu d’une redirection.

Les permaliens vers des URL externes ne vérifient pas les permissions de contenu interne.

Caractères spéciaux et URL encodées

Testez soigneusement les URL avec des caractères spéciaux.

Cela inclut les URL contenant :

  • des espaces
  • +
  • %
  • &
  • '
  • :
  • des parenthèses
  • des caractères non latins

La correspondance des permaliens utilise le chemin de requête encodé après avoir supprimé la barre oblique initiale et appliqué les normalisations configurées. Les différences d’encodage peuvent empêcher une URL de correspondre au permalink que vous attendez.

Par exemple, ceux-ci peuvent ne pas être équivalents selon la façon dont l’ancienne URL est demandée et stockée :

old/topic/hello%20world
old/topic/hello+world

Utilisez %20 pour les espaces dans les exemples d’URL. Dans un chemin d’URL, + n’est pas identique à un espace.

Les caractères tels que &, ? et # ont une signification spéciale dans les URL. S’ils sont destinés à être des caractères de chemin littéraux, ils doivent être encodés en pourcentage.

En cas de doute, testez l’ancienne URL exacte que les utilisateurs ou les moteurs de recherche demanderont.

Limitations

Les permaliens sont conçus pour rediriger les anciens chemins vers de nouvelles destinations. Ils ne constituent pas un moteur de redirection ou de réécriture à usage général.

Limitations importantes :

  • Les URL de permalink sont stockées sous forme de chemin et de chaînes de requête, et non d’URL complètes.
  • Les URL complètes ne sont pas automatiquement converties en chemins.
  • Les URL de permalink doivent être uniques après normalisation.
  • Une URL de permalink ne peut avoir qu’une seule destination.
  • Les destinations prises en charge se limitent aux sujets, messages, catégories, tags, utilisateurs et URL externes ou relatives.
  • Les permaliens utilisent 301 Moved Permanently ; il n’y a pas d’option par permalink pour 302.
  • Le champ URL de permalink ne prend pas en charge les caractères génériques ou les expressions régulières.
  • Les chaînes de requête font partie de la clé de recherche.
  • Les fragments d’URL, tels que #post-12, ne sont pas envoyés au serveur et ne peuvent pas être correspondus.
  • La correspondance n’utilise pas le schéma ou l’hôte de la requête.
  • Les routes natives sont vérifiées avant la route de permaliens à tout capturer.
  • Les destinations internes sont vérifiées pour les permissions.
  • Les destinations d’URL externe contournent les vérifications de permissions de contenu interne.
  • Les normalisations de permalink utilisent des expressions régulières Ruby.
  • Les règles de normalisation sont séparées par |, évitez donc d’utiliser | comme alternance regex.
  • Les règles de normalisation utilisent un seul remplacement par règle, et non un remplacement global.
  • Les normalisations sont appliquées à la fois avant la recherche et avant l’enregistrement des enregistrements de permalink.
  • Le validateur de paramètre détecte les expressions régulières invalides, mais il peut ne pas détecter chaque règle qui se comporte différemment de ce qui est prévu.

Pour la plupart des sites, des permaliens simples de type un-à-un sont plus faciles à maintenir que des règles de normalisation complexes. Utilisez les normalisations uniquement lorsque les anciennes URL suivent un modèle prévisible.

Évitez de rediriger chaque ancienne URL vers la page d’accueil

Ne redirigez pas toutes les anciennes URL vers votre page d’accueil.

Redirigez chaque ancienne URL vers la nouvelle page la plus pertinente. S’il n’y a pas de contenu équivalent, un 404 peut être préférable à l’envoi des utilisateurs et des moteurs de recherche vers une page non liée.

Les bonnes redirections sont spécifiques :

old/topic/123 → nouveau sujet sur le même sujet

Les mauvaises redirections sont génériques :

old/topic/123 → page d’accueil
old/topic/456 → page d’accueil
old/topic/789 → page d’accueil

Testez vos redirections

Après avoir créé des permaliens ou des normalisations, testez un échantillon d’anciennes URL.

Vous pouvez tester dans un navigateur, ou utiliser :

curl -I https://discourse.example.com/forum/topic/123

Une redirection de permalink fonctionnelle devrait retourner une redirection permanente similaire à :

HTTP/2 301
location: https://discourse.example.com/t/welcome-to-our-community/456

Testez des exemples de chaque modèle d’ancienne URL, y compris :

  • anciennes URL de sujets
  • anciennes URL de catégories
  • anciennes URL de messages
  • URL avec des chaînes de requête
  • URL avec des caractères spéciaux
  • URL issues des résultats de recherche
  • URL issues d’anciens e-mails ou de la documentation
  • URL qui commencent par des chemins intégrés comme /t, /c ou /u
  • redirections vers des URL externes

Dépannage

Si une ancienne URL ne redirige pas, vérifiez ces causes courantes :

  1. Confirmez que le permalink existe.
  2. Confirmez que l’URL du permalink est l’ancien chemin, et non le domaine ancien complet.
  3. Vérifiez si l’ancienne URL inclut une chaîne de requête.
  4. Si vous utilisez une normalisation, confirmez que le chemin normalisé correspond à un permalink enregistré.
  5. Vérifiez si une route intégrée prend le dessus.
  6. Vérifiez si la destination est privée ou restreinte.
  7. Vérifiez les différences d’encodage, telles que %20 vs +.
  8. Vérifiez si une normalisation a modifié l’URL lors de l’enregistrement du permalink.
  9. Confirmez que le contenu a été migré.
  10. Testez avec l’ancienne URL exacte depuis un navigateur ou avec curl -I.

Les problèmes les plus courants sont :

  • saisie de l’URL complète de l’ancienne URL au lieu de l’ancien chemin
  • chaînes de requête manquantes ou inattendues
  • attente du fonctionnement des caractères génériques ou des regex dans le champ URL de permalink
  • anciennes URL chevauchant les chemins intégrés
  • destinations privées ou restreintes
  • différences d’encodage
  • normalisations modifiant le chemin de manière inattendue

Notes SEO

Après une migration, les moteurs de recherche peuvent signaler que les anciennes URL sont redirigées. C’est ce à quoi on s’attend si ces anciennes URL redirigent désormais vers les nouvelles pages correctes.

Pour de meilleurs résultats :

  • redirigez les anciennes URL vers des nouvelles pages pertinentes
  • évitez les chaînes de redirection inutiles
  • évitez de rediriger de nombreuses URL non liées vers la page d’accueil
  • maintenez les redirections en place assez longtemps pour que les utilisateurs et les moteurs de recherche se mettent à jour
  • testez les URL importantes issues de votre ancien sitemap, de vos données d’analyse ou de la console de recherche
37 « J'aime »

Est-il possible de stocker la règle de réécriture directement dans le cluster Docker de Discourse ? Il y a un serveur web qui gère le HTTP et le SSL, puis-je y ajouter quelque chose ?

location /threads/ {
    rewrite ^/threads/(.*)\.\d+/?$ /t/$1 permanent;
}

Je ne vois pas comment cela peut fonctionner puisque nginx ne connaît pas les nouveaux identifiants de sujet. Les identifiants /threads doivent être convertis en identifiant de sujet Discourse.

Si j’appelle /threads/name.1234, il est réécrit en /t/name, puis il m’affiche le bon post, l’identifiant n’est pas utilisé à ce moment-là, je viens de tester cela.

Probablement seulement quand vous avez de la chance et que Discourse et votre ancien forum génèrent les mêmes slugs (et que le slug ne commence pas par un nombre), mais c’est probablement suffisant.

Si vous voulez changer NGINX comme vous le suggérez, vous pouvez regarder le modèle web dans discourse_docker pour voir comment changer la configuration nginx à l’intérieur du conteneur. Voici un exemple :

1 « J'aime »

Merci beaucoup, je pense que ce serait une distraction suffisante

dois-je apporter cette modification à chaque mise à jour ?

Non. Vous l’ajouterez à votre app.yml et il sera appliqué à chaque reconstruction.

Pour gagner du temps lors des tests, vous pourriez :

cd /var/discourse
./launcher enter app
apt update
apt-get install -y vim nano

Ensuite, utilisez vim ou nano pour modifier ce que vous voulez voir et vérifier qu’il fait ce que vous pensez (et économiser 10-20 minutes par reconstruction). Vous pouvez redémarrer nginx avec sv restart nginx.

Rien de ce qui précède n’a été testé, mais cela devrait être proche.

1 « J'aime »

Merci pour votre aide, j’ai ajusté la configuration nginx et cela fonctionne comme souhaité.

1 « J'aime »

où dans le app.yml cela doit-il être écrit pour que le nginx soit automatiquement ajusté ? dans la zone d’exécution des commandes personnalisées ?

car (\u003cunknown\u003e): found unknown escape character while parsing a quoted scalar si j’ajoute ceci :

  - replace:
      filename: "/etc/nginx/conf.d/discourse.conf"
      from: "# auth_basic_user_file /etc/nginx/htpasswd;"
      to: "# auth_basic_user_file /etc/nginx/htpasswd;

      location /threads/ {
          rewrite ^/threads/(.*)\.\d+/?$ /t/$1 permanent;
      }"

Jetez un coup d’œil à Configurer Let’s Encrypt avec plusieurs domaines / redirections et utilisez la même chose que dans cet exemple qui s’ajoute à la configuration nginx.

Vous pouvez le placer dans le hook after_ssl (que vous ajouteriez) comme dans celui-ci.

J’ai toujours la même erreur, je pense que cela a quelque chose à voir avec ma mise en forme.

1 « J'aime »