Redirection des anciennes URL du forum vers le discourse

Je tente de migrer d’un forum basé sur WordPress vers Discourse.

Mon ancienne URL ressemblait à ceci :

https://example.com/question/questioncontent

Et dans Discourse, je vois que les sujets sont créés avec l’URI :

https://example.com/t/questioncontent

J’ai donc copié l’intégralité du contenu de mon ancien forum vers le nouveau. Je ne suis pas très technique, je ne voulais donc pas prendre de risques. J’ai environ 18 publications, alors je n’ai pas utilisé de scripts. J’ai copié tout le contenu manuellement.

Ma question est la suivante : comment puis-je rediriger les liens de mon ancien forum qui sont déjà indexés par les moteurs de recherche ?

J’ai essayé la fonctionnalité de permalien pour effectuer une redirection, mais je n’arrive toujours pas à rediriger correctement.

Ai-je manqué quelque chose ? Pouvez-vous s’il vous plaît me guider vers la bonne procédure ?

Voir Admin → Personnaliser → Permaliens. Vous pouvez créer une redirection des 18 anciennes URL vers leurs nouveaux sujets.

J’ai essayé, malheureusement ils ne sont pas redirigés

Une aide ? Cela ne fonctionne pas pour moi.

J’ai écrit un plugin pour le faire.

Remplacez le code ci-dessus par :
get '/question/:slug', to: redirect('/t/%{slug}')

Merci, je vais essayer et te tenir au courant.

Je ne vois pas pourquoi pas, mais il est impossible de le dire sans plus d’informations sur ce que vous avez fait. Je ne vois pas non plus pourquoi vous auriez besoin d’un plug-in. Pour 18, vous pouvez simplement les créer à la main, bien que vous puissiez éventuellement utiliser une normalisation des permaliens pour les faire tous d’un coup.

Édité : le permalien ne fonctionne que pour les liens entrants, pas pour les liens internes à Discourse. Ce qui est généralement fait, c’est de réécrire ces liens dans les messages.

J’ai redirigé les anciennes URL de mon forum vers celles de Discourse. Je ne sais pas pourquoi cela ne fonctionne pas pour moi.

Je voulais confirmer :
Supposons que mon ancienne URL soit 1. forum.example.com/must-read-rules
et que celle de Discourse soit 2. forum.example.com/t/must-read-rules/47

Dois-je entrer 1. dans le champ « Nouveau » et 2. dans le champ « Destination » ? Ai-je raison ?

Désolé pour cette question naïve !

Vous devez saisir must-read-rules dans le champ d’URL, laisser l’option « ID du sujet » sélectionnée, et entrer 47 dans le champ ID du sujet. Comme ceci :

image

L’option de redirection sous l’option Personnaliser ne fonctionne pas pour moi.

Comment puis-je la faire fonctionner ?

Essayez-vous de l’utiliser pour rediriger les liens entrants vers du contenu Discourse, ou pour rediriger des liens au sein de Discourse (c’est-à-dire entre les pages) ?

Exactement ! Le permalien ne fonctionne que pour les URL entrantes. Je parie que c’est le problème.

@pfaffman @Stephen Je migre de WordPress vers Discourse. Je redirige mes anciennes URLs vers les URLs générées par Discourse.

ex : forum.example.com/question/hey vers forum.example.com/t/hey

Les liens entrants seront redirigés grâce à la fonctionnalité des permaliens. Les liens internes entre les articles devront être corrigés pour refléter leur nouvelle destination ; la redirection de permalien ne fonctionnera pas dans ce cas.

Quelles sont les solutions possibles pour que cela fonctionne ?
La première URL correspondait à mon ancien forum WordPress, et la deuxième est celle de mon Discourse.
Comment puis-je effectuer une redirection réussie ?

Peux-tu s’il te plaît me dire comment je peux modifier le code ? Y a-t-il un guide ? J’ai installé le plugin, mais je n’ai pas trouvé la zone spécifique dont tu parles pour modifier le slug.

J’ai essayé, mais malheureusement ça ne fonctionne pas :pensive_face:

Vous devrez faire un fork du plugin.

Puis-je ajouter plusieurs URL là ?
Ou seulement la structure de l’URL ?