Wordpressには、間違って書かれていると認識した場合に自動的にURLをリダイレクトする機能があります。例を示します。my-page
というページがあります。
私が行く場合:
www.mysite.com/something/my-page/
すぐにリダイレクトされます
www.mysite.com/my-page/
最初のURLには何も存在しません。
この機能を無効にして、間違ったURLが入力された場合に404を取得するにはどうすればよいですか。
これは私のために働いた:
remove_action('template_redirect', 'redirect_canonical');
Ashが示唆したように、次のコードを使って機能をオフにすることができます。
remove_action('template_redirect', 'redirect_canonical');
Canonical.phpのredirect_canonical関数を見ると、独自のフィルタで振る舞いを変更することもできるようです。
Redirect_canonical()関数の最後に、最終的な答えをフィルタリングするための呼び出しがあります。
$redirect_url = apply_filters( 'redirect_canonical', $redirect_url, $requested_url );
そのため、入力に基づいて最終的なリダイレクトを変更するか、nullを返してリダイレクトを停止する独自のフィルタを作成することができます。つまり、{無効にする特定のURLまたはURLのサブセットの機能です。