Le slug de catégorie Unicode provoque une erreur 404

Cela se produit sur mon instance de production et mon instance de développement.

Étapes pour reproduire :

  1. Modifier/créer une catégorie avec un slug Unicode
  2. Tenter de modifier les paramètres de la catégorie
  3. Vous obtenez une erreur 404

Réponse de http://localhost:4200/c/测试/find_by_slug.json :

{
"errors": [
"L'URL ou la ressource demandée n'a pas pu être trouvée."
],
"error_type": "not_found",
"extras": {
"html": "<div class=\"page-not-found\">\n  <h1 class=\"title\">Oups ! Cette page n'existe pas ou est privée.</h1>\n\n\n</div>\n\n\n\n<div class=\"row page-not-found-topics\">\n    <div class=\"recent-topics\">\n      <h2 class=\"recent-topics-title\">Récents</h2>\n        <div class='not-found-topic'>\n          <a href=\"/t/welcome-to-discourse/7\">Bienvenue sur Discourse</a>\n        </div>\n      <a href=\"/latest\" class=\"btn btn-default\">Plus&hellip;</a>\n    </div>\n</div>\n\n\n  <div class=\"row\">\n    <div class=\"page-not-found-search\">\n      <h2>Rechercher sur ce site</h2>\n      <p>\n        <form action='/search' id='discourse-search'>\n          <input type=\"text\" name=\"q\" value=\"\">\n          <button class=\"btn btn-primary\">Rechercher</button>\n        </form>\n      </p>\n    </div>\n  </div>\n\n  <link rel=\"preload\" href=\"/assets/onpopstate-handler.js?1621234483.753622\" as=\"script\">\n<script src=\"/assets/onpopstate-handler.js?1621234483.753622\"></script>\n\n"
}
}

Informations complémentaires :

  • Le paramètre unicode usernames est désactivé
  • Le problème persiste même après avoir activé unicode usernames
  • allowed unicode username characters = \p{Han}

Changer le paramètre méthode de génération de slug en encodé a résolu le problème, mais je ne veux pas vraiment d’un slug encodé pour l’URL de notre sujet.

1 « J'aime »