web-dev-qa-db-fra.com

La suppression de/blog/de plusieurs sites entraîne une redirection infinie

J'ai un wp installé avec multisite activé et travaillant avec des sous-répertoires. J'ai remarqué que dans le blog principal (celui qui existe par défaut à la racine), les liens de publication avaient un "/ blog" dans l'URL avant le permalien.

Alors connecté en tant qu'administrateur réseau, je suis allé à "Tous les sites> Modifier" et j'ai supprimé "/ blog" du paramètre de permalien. Mais maintenant, lorsque je visite un article, par exemple, mydomain.com/post-name, une redirection 301 est envoyée vers la même adresse URL (/ post-name). La redirection est donc infinie.

Pourquoi je me trompe?

2
nacvers

il existe un plugin pour permettre que cela se produise. et cela fonctionne très bien si vous suivez les instructions.

http://www.thinkinginwordpress.com/2009/09/remove-blog-slug-from-the-default-blog-of-wpmu-subdirectory-installation/

c'est principalement pour que wordpress MS empêche les nouveaux sites créés de créer des conflits avec les catégories ou les balises éventuellement créées. Par exemple, le fait de créer un site appelé "sujets" alors qu'une catégorie nommée "sujets" poserait des problèmes. en ayant/blog slug dans l'URL du site principal, en utilisant des sous-répertoires, cela remédie à ces situations.

toutefois, si vous n'autorisez pas les utilisateurs à créer des sites et si vous savez exactement comment votre réseau et vos catégories seront présentés, vous pouvez utiliser ledit plugin ou le faire vous-même. le seul problème réel vient du fait que vous avez supprimé le slug/blog et créé un site et des catégories/balises de niveau supérieur qui seraient dupliquées.

si vous autorisez les utilisateurs à créer un site avec votre installation MS, vous pouvez simplement interdire l'utilisation des catégories que vous avez créées dans la zone WP admin, pour la création de blogs.

1
bcodylong

Pourquoi je me trompe?

Vous cassez WordPress. Sur une installation de sous-répertoire, le permalien /blog est là exprès et pour une raison bien précise: permettre à votre site principal de continuer à fonctionner tout en vous autorisant un tableau de bord réseau.

Lorsque vous installez un site de sous-répertoire, WordPress utilise automatiquement /blog pour le site principal afin d'éviter les collisions. Il y a moyen de pas d'utiliser /blog, cependant.

  1. Utilisez plutôt une installation de sous-domaine (éventuellement pas une option)
  2. sont des plugins qui prétendent vous permettre de supprimer /blog

En réalité, il est là pour empêcher d’autres objets de casser ... alors, en les retirant manuellement, vous prenez les choses entre vos mains et vous cassez quelque chose d’autre.

1
EAMann