Comment empêcher la redirection automatique?

16

Wordpress dispose d’une fonctionnalité lui permettant de rediriger 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/

car 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?

    
posée Ash 08.11.2012 - 12:13

2 réponses

19

Cela a fonctionné pour moi:

remove_action('template_redirect', 'redirect_canonical');
    
réponse donnée Ash 08.11.2012 - 12:28
6

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, afin de désactiver la fonctionnalité associée à une URL particulière ou à un sous-ensemble d'URL.

    
réponse donnée Mike P. 30.03.2017 - 20:44

Lire d'autres questions sur les étiquettes