パーマリンク構造を/%category%/%postname%/
から/%year%/%monthnum%/%postname%//
に変更しました
古い投稿をすべて新しい投稿にリダイレクトするにはどうすればよいですか(例:via htaccess)。
この場合、WordPressは自動的に301リダイレクトを処理します。それは常にではありませんが、それはここにあるべきです。
手短に言えば、WordPressはredirect_guess_404_permalink
に対してクエリするために404 URLの末尾を使用することによって404に遭遇したときに正しい投稿を見つけようとするwp_posts.post_name
という関数を持っています。投稿が見つかると、301リダイレクトを実行します。あなたの特定のケースでは、あなたの古い構造体は%postname%
で終わっているので、これはあなたのすべての古いパスを非常に確実に301するべきです。
WP経由でリダイレクトすることもできます。はい、htaccessの方がパフォーマンスが優れていますが、小さなプラグインを使用するのは簡単です。
Hook template_redirect
を使って、条件関数is_404()
をチェックしてください。真であれば、正しいパーマリンクを入手して書き直してください。小さなプラグイン Change Permalink Helper も使えます。