web-dev-qa-db-ja.com

古いパーマリンクを新しいパーマリンクにリダイレクトする

パーマリンク構造を/%category%/%postname%/から/%year%/%monthnum%/%postname%//に変更しました

古い投稿をすべて新しい投稿にリダイレクトするにはどうすればよいですか(例:via htaccess)。

4
user26589

この場合、WordPressは自動的に301リダイレクトを処理します。それは常にではありませんが、それはここにあるべきです。

手短に言えば、WordPressはredirect_guess_404_permalinkに対してクエリするために404 URLの末尾を使用することによって404に遭遇したときに正しい投稿を見つけようとするwp_posts.post_nameという関数を持っています。投稿が見つかると、301リダイレクトを実行します。あなたの特定のケースでは、あなたの古い構造体は%postname%で終わっているので、これはあなたのすべての古いパスを非常に確実に301するべきです。

3
Matthew Boynes

WP経由でリダイレクトすることもできます。はい、htaccessの方がパフォーマンスが優れていますが、小さなプラグインを使用するのは簡単です。

Hook template_redirectを使って、条件関数is_404()をチェックしてください。真であれば、正しいパーマリンクを入手して書き直してください。小さなプラグイン Change Permalink Helper も使えます。

2
bueltge