web-dev-qa-db-fra.com

La reconnaissance automatique des publications est-elle une fonctionnalité de WordPress? Comment l'éteindre?

J'ai remarqué que si vous allez sur lostlettermen.com/aa , il est redirigé vers un message. Est-ce une fonctionnalité de WordPress qui peut être désactivée, ou est-ce fait par un type de plugin ou de code personnalisé?

1
Bob Cavezza

Ceci est fait par redirect_guess_404_permalink() , qui est appelé depuis redirect_canonical() . redirect_canonical() fait plus que cela: il s'assure que vous utilisez toujours une seule URL canonique pour un élément, il ajoute des barres obliques, force le même nom de domaine, ...

Vous pouvez soit décrocher le redirect_canoncial pour qu'il ne fasse rien, soit vous pouvez vous y accrocher et empêcher la redirection lorsqu'il s'agit d'un 404:

// Disable redirect_canonical()
add_action( 'init', 'wpse18110_init' );
function wpse18110_init()
{
    remove_action( 'template_redirect', 'redirect_canonical' );
}

// Only prevent redirect on 404
add_filter( 'redirect_canonical', 'wpse18110_redirect_canonical' );
function wpse18110_redirect_canonical( $redirect_url )
{
    if ( is_404() ) {
        return false;
    }
    return $redirect_url;
}
3
Jan Fabry