web-dev-qa-db-fra.com

Comment puis-je forcer WordPress à rediriger les permaliens canoniques?

Dans WordPress 3.1, un message peut être atteint de plusieurs manières, par exemple chacune d’elles vous renvoie au même message (où/id est la base)

http://myblog.com/id/1008
http://myblog.com/id/1008/my-slug
http://myblog.com/my-slug

Comment puis-je dire à WordPress de rediriger toutes ces variations vers

http://myblog.com/id/1008/my-slug

?

4
qodeninja

Vérifiez si les articles non redirigés ont le bon permalien stocké dans la base de données. Il y a un bogue dans lequel les textes canoniques ne peuvent pas être correctement devinés car la structure de permalien a été changée après la création du message.

Essayez de créer une nouvelle publication avec votre structure de permalien actuelle ou de modifier le champ de base de données post_name pour eux. (Il y a un plugin pour mettre à jour les permaliens dans DB)

La question reste. En supposant que cela se passe encore:

Comment forçons-nous Wordpress à REDIRECT à l'URL canonique? Non, il suffit d’ajouter un lien, mais de rediriger vers cette page.

J'ai changé la structure des permaliens du site et ajouté une add_rewrite_rule dans functions.php. Les anciennes adresses /02/20/2008/postname sont maintenant acceptées et canonisées en tant que /blob/postname correctement… et la page a été trouvée.

Mais peu importe ce que je fais, le canonique reste simplement sous la forme d'un lien dans l'ancienne page d'URL, tout en affichant la mauvaise URL dans la barre d'adresse.

NO REDIRECT est effectué.

J’avais déjà travaillé avec un autre site Web et j’ai fini par utiliser des redirections .htaccess après des jours d’essai de dizaines de codes différents.

Je sais que les redirections .htaccess fonctionneront, mais maintenant que je lis partout que "ça devrait" être en train de le faire ... Je me demande: le devrait-il? et plus exactement "comment puis-je le forcer?

2
sergio

WordPress devrait le faire automatiquement. Quel que soit le format de lien permanent que vous avez défini dans Paramètres> Contacts permanents, l'URL à laquelle aboutissent les visiteurs se présente lorsqu'ils se dirigent vers une autre URL indiquant le même contenu.

3
jerclarke

J'utilise un plugin appelé Redirection (http://urbangiraffe.com/plugins/redirection/) qui me permet de configurer des règles pour la redirection d'URL. Cela pourrait répondre à vos besoins si vous ne pouvez pas obtenir WordPress pour faire ce que vous voulez.

James :-)

1
James Culshaw

wordpress le fait automatiquement il n'y a pas besoin de faire quoi que ce soit si vous avez une structure personnalisée définie dans les paramètres-> permaliens il redirigera automatiquement toutes les structures entrantes vers votre structure personnalisée ou celle que vous avez choisie dans les paramètres de wp back end

1
phantom.omaga