Salut,
Est-il possible de rediriger automatiquement toutes les pages 404 erronées vers la page d’accueil ou une autre page ?
Cordialement
Salut,
Est-il possible de rediriger automatiquement toutes les pages 404 erronées vers la page d’accueil ou une autre page ?
Cordialement
Puisque Discourse n’utilise pas htaccess, je ne suis pas sûr où chercher une solution. Toute aide serait appréciée ![]()
Je suppose que vous pourriez créer un plugin pour y parvenir ?
Il pourrait être déroutant de rediriger immédiatement, alors pourquoi ne pas modifier la route 404 pour rediriger vers la page d’accueil après un court délai avec un message correspondant ?
Cela pourrait fonctionner, mais je ne sais pas comment faire ça ![]()
Existe-t-il un plugin pour cela ?
J’en doute. Vous pourriez Marketplace
Htaccess ne devrait pas être utilisé de toute façon, même s’il y avait Apache2 devant Discourse — et ce n’est pas le cas.
Docker complique la vie
et je ne sais pas comment le gérer. Mais vous pouvez placer Nginx (ou n’importe quel serveur/proxy inverse) devant Discourse si vous le souhaitez. Et alors une telle redirection devrait être une tâche assez triviale. Vous pouvez faire quelque chose comme ceci :
Mais pourquoi voudriez-vous rediriger les 404 vers la page d’accueil en premier lieu ? Si un utilisateur recherche quelque chose et obtient la page d’accueil au lieu de ce qu’il voulait ou un 404, c’est un peu déroutant. Et après, le même utilisateur essaiera à nouveau car peut-être qu’il a fait quelque chose de mal ou que le site avait un problème. Totalement inutile et il y a une raison pour laquelle chaque site devrait afficher une erreur 404 au lieu d’une redirection étrange.
Je migre mon blog WordPress vers Discourse. Maintenant, en raison d’une structure de liens différente, il y aura des tonnes de pages 404 après la migration. Je ne peux pas définir de redirection pour chacune d’entre elles manuellement, j’ai donc besoin d’une solution pour le faire automatiquement.
Oui, mais ce n’est pas une solution. C’est une mauvaise correction, rien d’autre. Votre structure d’URL serait toujours cassée mais vous la cachez simplement. Et non, vous ne pouvez pas transférer la valeur de référencement de cette façon ;)\n\nBref — vous avez un serveur là-bas. Essayez de l’utiliser ?
Si vous utilisiez un sous-domaine différent pour les sites Wordpress et Discourse, vous pourriez probablement le faire côté serveur Wordpress.
Il est possible de modifier page_not_found.title (initialement « Oups ! Cette page n’existe pas ou est privée. ») — c’est dommage pour vous qu’il n’y ait pas quelque chose comme page_not_found.content qui vous permettrait d’expliquer la situation en détail.
Cette option n’implique aucune sorte de redirection, si je ne me trompe pas.
Quels que soient les liens auxquels ces liens pointent… seront-ils migrés vers Discourse ? Par exemple, si ces liens pointent vers des articles de blog, que vous transformez en sujets, vous pourriez alors créer des permaliens : Redirect old forum URLs to new Discourse URLs using permalinks
Vous pourriez également réaffecter ces URL à autre chose. En supposant que les URL aient un format commun, vous pourriez utiliser REGEX et la commande remap pour les remplacer :
remap [--global,--regex] FROM TO
Un exemple sur la façon d’utiliser la commande :
discourse remap --regex "[\\/?color(=[^\\\]]*)*]" "" # suppression des bbcodes "color"
Sauf que cela doit être fait sur le serveur WordPress si l’on veut satisfaire à la fois Google ET les utilisateurs.
5 messages ont été déplacées vers un nouveau sujet : Comment rediriger vers la page d’accueil après la suppression d’un sujet ?
Vous pouvez gérer toutes les pages 404 erronées vers la page d’accueil ou une autre page en utilisant la fonctionnalité « Personnaliser ».
Allez dans la section Personnaliser > Thèmes > Créer un nouveau thème > nommez votre thème, par exemple Redirection 404, et définissez le Thème de base sur Défaut.
Créez ensuite le nouveau thème > Modifier CSS/HTML. Dans la section HTML, créez un extrait JavaScript qui gérera la redirection.
Collez ce code.
api.onPageChange((url, title) => {
// Rediriger vers la page d'accueil pour toutes les pages 404
if (url.includes('/404')) {
window.location.href = '/';
}
});
Veuillez ajuster le nom de votre page selon vos besoins. Lisez ceci rediriger les anciennes URL vers les nouvelles URL Discourse