web-dev-qa-db-fra.com

Pourquoi les permaliens numériques fonctionnent-ils, mais% postname% ne le fait pas?

[Question modifiée à mesure que j'en découvrais plus]

J'ai un problème étrange, en ce que mes permaliens ne fonctionnent pas. En fait, cela fonctionne lorsque la structure permalink-structure est définie sur quelque chose qui commence par du texte statique. (/archive/%postname% par exemple). Ce serait bien si le site ne contenait que des pages, qui portent toujours leur nom, mais ce n’est pas le cas. Toutes les entrées de blog sont donc /archive/<postname> et Communiqués de presse, qui est un type d'article personnalisé, devient /archive/press-releases/<postname>, ce qui ne correspond pas à mes besoins.

  • Je sais que ce n'est pas le thème car il fonctionne parfaitement sur localhost et sur un autre serveur de développement, qui sont tous deux des copies exactes du futur domaine en direct (c'est pourquoi je ne peux pas donner l'URL). Je ne suis plus sûr que ce n'est pas le thème. Ne peut pas pour la vie de comprendre ce que cela pourrait être. Si quelqu'un peut penser à quel (s) morceau (s) de code à utiliser pour le diagnostic, je vais copier/coller tout ce dont j'ai besoin.
  • Je sais que ce n'est pas non plus des plugins, car j'ai essayé de les désactiver tous. Pas de chance.
  • Je sais que ce n'est pas le fichier .htaccess, car il s'agit également d'une copie de ce qui se trouve sur les autres serveurs. J'ai même essayé de le supprimer complètement et de le réécrire WP. En outre, je reçois le WP 404, pas le Apache 404.

Reconnaissant pour toute idée sur ce que le problème pourrait être.

Modifier:
J'ai maintenant déplacé le site vers une toute nouvelle installation WP dans un environnement d'hébergement différent. Le problème persiste. Cela n'a tout simplement aucun sens pour moi. Je pense maintenant que quelque chose est en fait faux avec le thème, mais ça marche toujours sur localhost et sur un serveur de développement séparé. Se pourrait-il vraiment que deux environnements d'hébergement complètement séparés aient le même problème étrange?

Edit 2:
Je n’attends plus une solution, j’ajoute simplement cette information au cas où une autre personne aurait des problèmes similaires et voudrait ressusciter l’interrogatoire à une date ultérieure.

Ce que j’ai fait à présent, c’est d’activer d’abord le thème par défaut vingt-treize ans et de définir la structure permalien sur /%category%/%postname%/. Je ne m'attendais pas à ce que cela fonctionne - mais cela a fonctionné! J'ai alors pensé que c'était le thème que j'avais codé. Mais pas si sûr. En réactivant le thème que je vais utiliser et en rechargeant la page, les liens permanents fonctionnent toujours!

Si je vais maintenant jouer avec les permaliens, cela échouera à nouveau.

J'ai cessé d'essayer de trouver une raison à ce comportement étrange. Toutes les informations ci-dessus sont toujours exactes. Si quelqu'un veut m'éclairer, merci de le faire :-)

Edit 3:
J'ai compris ce qui n'allait pas. C'est la solution acceptée.

4
Patrik Alienus

J'ai maintenant découvert quel était le problème.

Il s’agissait d’une fonction register_taxonomy malformée (et pourtant fonctionnelle!) Dans le fichier functions.php. Donc, si quelqu'un a ce problème, assurez-vous que vos taxonomies personnalisées sont toutes correctement effectuées. Un des miens n'était pas.

Je suppose que la raison pour laquelle une taxonomie mal formée peut créer un problème aussi étrange est qu’elle est liée à la structure de lien permanent.

C'est peut-être un problème avec WordPress bien sûr - WordPress doit-il vraiment faire quelque chose d'aussi stupide juste parce qu'une taxonomie n'est pas correctement écrite?

0
Patrik Alienus

PROBLÈMEJ'ai eu le même problème sur Windows 7 localhost sous WAMPServer et Apache 2.2.22. Toute structure permalien contenant le nom du message ne fonctionnait pas. J'ai eu une erreur en me disant que la page était introuvable.

SOLUTIONJ'ai constaté que, par défaut, dans cette installation de Wampserver, le "rewrite_module" Apache est désactivé. Je l'ai activé et maintenant mes publications et pages fonctionnent bien.

HOW TO 1) Avec Wampserver en cours d'exécution, cliquez sur la petite icône verte dans votre barre des tâches. 2) Passez la souris sur Apache, puis passez la souris sur "Modules Apache" 3) Faites défiler la liste pour trouver "rewrite_module" )

enter image description here

C'est tout ce que je devais faire. Je n'ai même pas eu besoin de redémarrer le serveur Apache. Cela a juste commencé à fonctionner.

Alan

2
Alan Haynes

Vérifiez la configuration de votre hôte virtuel. Et si vous voyez que MultiViews est activé, comme ceci:

Options Indexes FollowSymLinks MultiViews

Puis retirez-le et laissez-le comme ceci:

Options Indexes FollowSymLinks
1
Eugene Manuilov

J'ai eu le même problème, les permaliens fonctionnaient pendant un certain temps jusqu'à l'installation d'un plug-in qui utilisait également des permaliens. À ce moment, mes permaliens pour mon type de message personnalisé fonctionnaient par intermittence. Et donc j'ai trouvé cette question et vérifié dans ma fonction register_taxonomy comme le demandeur l'avait mentionné. Ce que j'ai trouvé, c'est que mon slug pour le type de message personnalisé était en fait le même que celui de la taxonomie personnalisée. Une fois que j'ai remplacé la taxonomie par un slug unique, les permaliens ont à nouveau fonctionné.

0
Mike Lacourse