Como evitar o redirecionamento automático?

16

O Wordpress tem um recurso pelo qual ele redirecionará automaticamente seus URLs se eles forem gravados incorretamente. Aqui está um exemplo: Eu tenho uma página chamada my-page

Se eu for para:

www.mysite.com/something/my-page/

ele me redirecionará imediatamente para

www.mysite.com/my-page/

como nada existe no primeiro URL.

Como posso desativar esse recurso e, em vez disso, só obtenho um 404 se URLs incorretos forem digitados?

    
por Ash 08.11.2012 / 12:13

2 respostas

19

Isso funcionou para mim:

remove_action('template_redirect', 'redirect_canonical');
    
por Ash 08.11.2012 / 12:28
6

Como Ash sugeriu, você pode desativar o recurso usando o seguinte código:

remove_action('template_redirect', 'redirect_canonical');

Ao olhar para a função redirect_canonical em canonical.php, parece que você também pode modificar o comportamento com seu próprio filtro.

No final da função redirect_canonical (), há uma chamada para filtrar a resposta final:

$redirect_url = apply_filters( 'redirect_canonical', $redirect_url, $requested_url );

Assim, você pode escrever seu próprio filtro para modificar o redirecionamento final ou retornar null para interromper o redirecionamento, com base na entrada, portanto, desativando o recurso para um URL específico ou um subconjunto de URLs.

    
por Mike P. 30.03.2017 / 20:44

Tags