web-dev-qa-db-ja.com

HtaccessでURL構造を変更した後にすべての投稿をリダイレクトする

私は古い構造を新しいものにリダイレクトする.htaccess正規表現を探しています、私がプラグインを使用したくないのは、WordPressの更新や作者がそれらを放棄したときに予期せぬ結果をもたらすことが多いからです。確実に長時間リダイレクトします。

古いパーマリンク:

https://domain.com/%category%/%postname%/

新しいパーマリンク:

https://domain.com/%post_id%/

注: 私は、ルールがこれを考慮すべきかどうかわからない。スラッグをURLに追加するカスタム投稿タイプも使用します。そのため、「カテゴリ」は通常の「投稿」に表示されますが、CPTでは次のようになります。

https://domain.com/%example-cpt-slug%/%postname%/

/%category%/と/%example-cpt-slug%/はなんかの間の "/ /"なので、どちらの場合にも良いルールが使えると思います。

よくわかりませんが、POST ID(%post_id%/)をターゲットとして指定する方法を教えてください。

1
Michael Rogers

[設定]> [パーマリンク]内で、カスタム構造は/%category%/%postname%/に設定されていますか?

では、/%post_id%/に設定しますか(または既に設定しました)。

私が知る限り(そして私もテストしましたが)、WordPressはあなたのすべての投稿を(投稿タイプ 'post'から)あなたの新しいカスタム構造にリダイレクトします。あなたは物事をする必要はありません。

そのため、カスタム構造を/%post_id%/に設定した場合、誰かがURL https://domain.com/my-category/my-post-slugにアクセスすると、それらはhttps://domain.com/POST_IDにリダイレクトされます。

ポストスラッグを変更してもカスタム構造を変更しても、WordPressはそれを正しくリダイレ​​クトします。

これがどのWPバージョンから機能することになっているのか私にはわかりませんが、記録のためだけに、私は4.7以内にテストしました。

それがあなたのために働いていないならば私に知らせてください、そして私はあなたに別の解決策を与えます。

ちなみに、私はあなたのWordPressサイトのURLがあなたの質問のように domain.com のように変わっていないと思います。

0
filipecsweb