「URL修正時のリダイレクト対応」での「正規表現」について、パーツごとの解説とよく使われる使用例を記載しました。参考にしてみてください。
リダイレクトについては、「Redirectionでの301リダイレクト管理」もご参照ください。
今回の転送例
パーツごとの解説
ソースURL:^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)
① ^/ 「URLは必ず / から始まる」
② ([0-9]{4}) = 年(YYYY) → $1 に入る
③ /([0-9]{2}) = 月(MM) → $2 に入る
④ /([0-9]{2}) = 日(DD) → $3 に入る
⑤ /(.*) = スラッグ部分(超重要)
キャプチャの対応関係
| グループ | 内容 |
|---|---|
| $1 | 年(YYYY) |
| $2 | 月(MM) |
| $3 | 日(DD) |
| $4 | スラッグ(記事名) |
ターゲットURL:/$4
意味
/ が含まれるので記載不要基本パーツ
Redirection運用の鉄則(再確認)
① 年月日付きURL → スラッグのみ
WordPressのパーマリンク変更(/%year%/%month%/%day%/ → /%postname%/)^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)/$4② 特定ディレクトリ配下を丸ごと別場所へ
/old-blog/xxx → /blog/xxx^/old-blog/(.*)/blog/$1③ 日本語URL → 英語スラッグ(連番あり)
^/ja/日本語タイトル-([0-9]+)/ja/english-title-$1④ index.php / index.html を消す
^/(.*)/index\.(php|html?)$⑤ 末尾スラッシュなし → あり
^(.+[^/])$$1/⑥ http → https
^http://(.*)https://$1⑦ 大文字URL → 小文字URL
^/(.*[A-Z].*)/$1⑧ クエリ付きURLを無視してリダイレクト
^/some-page/?$/some-page/⑨ 404大量発生URLをまとめて救済
^/tag/(.*)/blog/⑩ ja / en をまとめて拾う(多言語)
^/(ja|en)/(.*)/$1/new-path/$2