WordPressでは、アクセスしようとしたページが見つからなかった場合、そのURLに含まれるスラッグを使って前方一致で見つかったページに自動リダイレクトするようになっています。
例えば、パーマリンクが/my-favorite-things
のスラッグの投稿があった場合、/my-favorite
や、/my-fav
などへのアクセスは404にならず、すべて/my-favorite-things
のページにリダイレクトします。
この機能は便利な一方で、スラッグのリネームなどを繰り返した際に意図しないリダイレクトが発生することもあり、実サイトで問題が発生することもあります。
このURLの前方一致による自動リダイレクトを無効にするには、以下の手順を行います。
URLの前方一致による自動リダイレクトを無効にする手順
以下のコードをテーマディレクトリ(子テーマディレクトリ)のfunctions.php
ファイルに追記します。
/* URLの前方一致による自動リダイレクトを無効にする */
function remove_redirect_guess_404_permalink($redirect_url, $requested_url) {
if(is_404()) {
return false;
}
return $redirect_url;
}
add_filter('redirect_canonical', 'remove_redirect_guess_404_permalink', 10, 2);
コメント