スキルアップを始める!

【WordPress】プラグイン「Redirection」で正規表現を使ってリダイレクトするRedirect is returning a 404

WordPress(ワードプレス)
WordPress(ワードプレス)
この記事は約5分で読めます。

※記事中に広告情報を含みます。

\ワードプレスのスキルアップはこちら!/ WordPress入門読本

「Redirection」プラグインは、WordPressでリダイレクトを設定するためのプラグインです。Redirectionプラグインには、正規表現を使ってリダイレクトを設定できる機能があります。

※リダイレクトプラグインの正規表現は慎重に記述する必要があります。正規表現を間違えると、意図しないURLが大量リダイレクトされてしまう可能性があります。事前にサイトのバックアップを必ず取り、設定に自信が無い場合は使わないほうが無難です。意図しないリダイレクトが大量発生する可能性もあります。

正規表現とは?

正規表現とは、文字列のパターンを記述するためのルールです。正規表現を使ってリダイレクトを設定することで、特定の条件に一致するURLを別のURLにリダイレクトさせることができます。

例えば、次のような正規表現を使ってリダイレクトを設定することができます。

^/old/(.*)$

この正規表現は、URLの先頭が「/old/」で、その後に任意の文字列が続く場合に、そのURLを「/new/」にリダイレクトさせます。例えば、次のようなURLは、この正規表現にマッチします。

/old/page1
/old/page2
/old/2023/07/10/post1

リダイレクトプラグインの正規表現機能を使うことで、以下のようなことができます。

  • サイトのリニューアル時に、古いURLを新しいURLにリダイレクトする
  • ページのURLを変更するときに、旧URLへのアクセスを新しいURLにリダイレクトする
  • 特定のユーザーやグループへのアクセスを制限する

リダイレクトプラグインの正規表現機能を使うには、プラグイン設定画面で、リダイレクトルールに正規表現を入力します。

Redirectionプラグインで使える正規表現の記号

Redirectionプラグインで使える正規表現の記号は、以下のようなものがあります。

記号意味
^文字列の先頭
$文字列の末尾
.任意の文字
*任意の文字を0回以上
+任意の文字を1回以上
?任意の文字を0回か1回
{n}任意の文字をn回
{n,}任意の文字をn回以上
{n,m}任意の文字をn回以上m回以下
[a-z]小文字アルファベット
[A-Z]大文字アルファベット
[0-9]数字
[a-zA-Z0-9]英数字
[\w]英数字と記号
[\W]英数字と記号以外の文字
[a-zA-Z0-9_-]英数字、アンダースコア、ハイフン
[.]ドット
[/]スラッシュ
[-]ハイフン

※仕様変更などがありますので設定前に必ず公式ヘルプをご確認ください。

Redirect is returning a 404 – Redirection

正規表現の例

正規表現例です。下記のようなURLがあったとします。

/2012/01/07/template-sticky
/2011/01/07/other-page
/2010/01/07/another-page

これらを下記のようなURLにリダイレクトにしたい場合:

/template-sticky
/other-page
/another-page

Redirectionプラグインで正規表現を設定します。

リダイレクションルールの設定画面が表示されるので、以下のフィールドを設定します:

  • ソース URL: 正規表現を使用したい旧URLパターンを入力します。例: /(\d{4}/\d{2}/\d{2}/)(.+)
  • 正規表現を使用する: チェックボックスをオンにします。
  • ターゲット URL: 新しいリダイレクト先のURLを入力します。正規表現グループを使って、元のURLから必要な部分を取得し、新しいURLに組み込むことができます。例: /$2

これにより、正規表現を使用して古いURLパターンを新しいURLにリダイレクトするルールが作成されます。

たとえば、元のURLが/2012/01/07/template-stickyの場合、正規表現を使用して/(\d{4}/\d{2}/\d{2}/)(.+)というパターンに一致し、$2の部分(template-sticky)が新しいURLに組み込まれて/template-stickyにリダイレクトされます。

リダイレクトプラグインの正規表現の注意点

リダイレクトプラグインの正規表現は、慎重に記述する必要があります。正規表現を間違えると、意図しないURLがリダイレクトされてしまう可能性があります。

また、リダイレクトプラグインの正規表現は、他のプラグインやテーマの正規表現と競合する可能性があります。他のプラグインやテーマで同じ正規表現を使っていると、意図しない動作が発生する可能性があります。

リダイレクトプラグインの正規表現を使うときは、以下の点に注意してください。

  • 正規表現の記述方法をよく理解してから使う
  • テスト環境で動作を確認してから本番環境で使う
  • 他のプラグインやテーマの正規表現と競合しないか確認する

その他のリダイレクトプラグイン

リダイレクトプラグインには、以下のようなものがあります。

  • Redirection
  • Simple 301 Redirects
  • Redirect Everything

これらのプラグインは、いずれも正規表現を使ってリダイレクトを設定できます。機能や使いやすさなど、自分に合ったプラグインを選んでください。

まとめ

リダイレクトプラグインの正規表現は、慎重に記述する必要があります。正規表現を間違えると、意図しないURLがリダイレクトされてしまう可能性があります。

使用する際は、くれぐれも慎重に設定しましょう。

URLをコピーしました!