web-dev-qa-db-fra.com

Rediriger les anciens permaliens vers les nouveaux permaliens

J'ai changé la structure de permalien de /%category%/%postname%/ à /%year%/%monthnum%/%postname%//

Comment puis-je rediriger tous les anciens messages vers les nouveaux (par exemple: via htaccess)?

4
user26589

WordPress devrait gérer les redirections 301 pour vous automatiquement dans ce cas. Ce n'est pas toujours le cas, mais cela devrait être ici.

En bref, WordPress a une fonction, redirect_guess_404_permalink, qui essaie de trouver le bon message quand il rencontre un 404 en utilisant la fin de l’URL 404 pour interroger le wp_posts.post_name. S'il trouve une publication, il effectuera une redirection 301. Dans votre cas particulier, étant donné que votre ancienne structure se termine par %postname%, ceci devrait très 301 de manière très fiable sur tous vos anciens chemins.

3
Matthew Boynes

Vous pouvez également rediriger via WP. Oui, la variante htaccess offre de meilleures performances, mais un petit plugin est facile à utiliser.

Utilisez le crochet template_redirect et vérifiez la fonction conditionnelle is_404(); si vrai, que d'obtenir le bon permalien et réécrire. Aussi, vous pouvez utiliser le petit plugin Change Permalink Helper .

2
bueltge