Wordpress possède une fonctionnalité grâce à laquelle il redirige automatiquement vos URL s'il les trouve mal écrites. Voici un exemple: j'ai une page appelée my-page
Si je vais à:
www.mysite.com/something/my-page/
il va immédiatement me rediriger vers
www.mysite.com/my-page/
comme rien n'existe à la première URL.
Comment puis-je désactiver cette fonctionnalité et obtenir à la place un 404 si des URL incorrectes sont saisies?
Cela a fonctionné pour moi:
remove_action('template_redirect', 'redirect_canonical');
Comme suggéré par Ash, vous pouvez désactiver la fonctionnalité en utilisant le code suivant:
remove_action('template_redirect', 'redirect_canonical');
En regardant la fonction redirect_canonical dans canonical.php, il semblerait que vous puissiez également modifier le comportement avec votre propre filtre.
À la fin de la fonction redirect_canonical (), il existe un appel pour filtrer la réponse finale:
$redirect_url = apply_filters( 'redirect_canonical', $redirect_url, $requested_url );
Vous pouvez donc écrire votre propre filtre pour modifier la redirection finale ou renvoyer null pour arrêter la redirection, en fonction de l'entrée, donc désactiver la fonctionnalité d'une URL particulière ou d'un sous-ensemble d'URL.