redirection-regex-ja

Redirectionの「正規表現」について

「URL修正時のリダイレクト対応」での「正規表現」について、パーツごとの解説とよく使われる使用例を記載しました。参考にしてみてください。

リダイレクトについては、「Redirectionでの301リダイレクト管理」もご参照ください。

 

Redirectionの「正規表現」について

1. 「正規表現」について解説

今回の転送例

  • 変更前:「日付と投稿名」https://taracotapas.com/2026/01/20/sample-post/
  • 変更後:「投稿名」https://taracotapas.com/sample-post/

パーツごとの解説

ソースURL:^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)

^/ 「URLは必ず / から始まる」

  • ^ → URLの先頭
  • / → 直後にスラッシュ

([0-9]{4}) = 年(YYYY) → $1 に入る

  • [0-9] → 数字 0〜9
  • {4} → 4桁
  • () → キャプチャグループ

/([0-9]{2}) = 月(MM) → $2 に入る

  • {2} → 2桁の数字

/([0-9]{2}) = 日(DD) → $3 に入る

/(.*) = スラッグ部分(超重要)

  • . → 任意の1文字
  • * → 0文字以上
  • (.*) → 全部まとめてキャプチャ

キャプチャの対応関係

グループ 内容
$1 年(YYYY)
$2 月(MM)
$3 日(DD)
$4 スラッグ(記事名)

ターゲットURL:/$4
意味

  • 年月日($1 $2 $3)を 全部捨てて
  • スラッグ部分だけを残す
  • $4 には最後の / が含まれるので記載不要

2. Redirection での「正規表現」の代表的な使用例

基本パーツ

  • (.*) ← 全部拾う
  • ([0-9]+) ← 数字
  • ^ / $ ← 始まり・終わり

Redirection運用の鉄則(再確認)

  • Regex ON
  • Ignore Slash / Ignore Case は基本 OFF
  • Source / Target は相対パス
  • 301(恒久)を使う
  • ルールは 広い → 狭い順 に並べる

3. よく使われる「正規表現」例

① 年月日付きURL → スラッグのみ

  • 用途 WordPressのパーマリンク変更(/%year%/%month%/%day%/ → /%postname%/)
  • Source:^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)
  • Target:/$4

② 特定ディレクトリ配下を丸ごと別場所へ

  • 用途 /old-blog/xxx → /blog/xxx
  • Source:^/old-blog/(.*)
  • Target:/blog/$1

③ 日本語URL → 英語スラッグ(連番あり)

  • 用途 日英URL整理
  • Source:^/ja/日本語タイトル-([0-9]+)
  • Target:/ja/english-title-$1

④ index.php / index.html を消す

  • 用途 SEO正規化・古いURL救済
  • Source:^/(.*)/index\.(php|html?)$
  • Target:/$1/

⑤ 末尾スラッシュなし → あり

  • 用途 URLの統一(SEO事故防止)
  • Source:^(.+[^/])$
  • Target:$1/

⑥ http → https

  • 用途 SSL移行後のアクセス救済
  • Source:^http://(.*)
  • Target:https://$1

⑦ 大文字URL → 小文字URL

  • 用途 外部流入URLが荒れている場合
  • Source:^/(.*[A-Z].*)
  • Target:/$1

⑧ クエリ付きURLを無視してリダイレクト

  • 用途 ?utm_source=xxx を無視したい
  • Source:^/some-page/?$
  • Target:/some-page/

⑨ 404大量発生URLをまとめて救済

  • 用途 Search Console 対応
  • Source:^/tag/(.*)
  • Target:/blog/

⑩ ja / en をまとめて拾う(多言語)

  • 用途 Polylang / WPML 併用時
  • Source:^/(ja|en)/(.*)
  • Target:/$1/new-path/$2

Redirectionの「正規表現」について

関連記事