WordPressプラグイン「Redirection」の正規表現を活用する

Redirectionはリダイレクトを設定できるWordPressのプラグインです。例えば下記のようなサイトマップのサイトがあったとします。

┣ ホーム
┣ 会社案内   /company/
┃ ┣ 会社概要 /company/outline/
┃ ┣ 沿革   /company/history/
┃ ┣ 関連企業 /company/associated/

ここで、「会社案内」にはコンテンツがなく、「会社案内」へのアクセスは「会社概要」へリダイレクトさせたいという場合、Redirectionで単純に設定すると下記のようになるかと思います。

ソース URL /company/
一致条件 URLのみ、URLへ転送、正規表現なし
ターゲット URL /company/outline/

これで、会社案内(/company/)へのアクセスは会社概要(/company/outline/)へリダイレクトさせることができます。しかし、ここで「/company/#header」とか「/company/?d=hoge」とかにアクセスするとどうでしょう。そう、「会社案内」が表示されてしまうのです。

正規表現を活用する

なぜ「/company/#header」とか「/company/?d=hoge」へのアクセスがリダイレクトされないかというと、正規表現を使用しなかった場合、「ソース URL」が完全一致で判定されることになるため、「/company/」の後ろに余計な指定のついた「/company/#header」とか「/company/?d=hoge」の場合はリダイレクトがされなかったのです。

そこで、「/#」「/?」がつく場合もリダイレクトされるように、正規表現を用いて下記のように設定します。

ソース URL ​/company​/([#\?].*)?$
一致条件 URLのみ、URLへ転送、正規表現あり
ターゲット URL /company/outline/

「/company​/([#\?].*)?$」は、「/company/」の後に「#」もしくは「?」から始まる文字列が0回か1回の場合、という意味になります。これで「/company/#header」とか「/company/?d=hoge」の場合でもリダイレクトされるようになります。

MW WP Form

MW WP Form はショートコードベースのフォームプラグインです。多くの機能を持っており、例えば、多くのバリデーションルール、問い合わせデータの保存、そしてグラフ機能集計などを使用することができます。

さらに詳しく
Habakiri

Habakiri

Bootstrap ベースのシンプルな WordPress テーマ。レスポンシブ、多くのカスタマイズ機能。圧縮された CSS・JS を使用する高速化対策。Microformats 対応。Sass、クラスベースの functions.php。

さらに詳しく
basis-stylus

Basis

軽量なレスポンシブ Stylus/CSS フレームワーク。Flexbox ベースのグリッドシステム、疎結合なコンポーネント、バーティカルリズム。

さらに詳しく