Apache(.htaccess等)のリダイレクトは、mod_rewriteだけじゃねぇ!RedirectとRedirectMatchがシンプルでいい感じ

Apache
スポンサーリンク

Apacheでリダイレクトといえばmod_rewrite?

Apacheでリダイレクトといえばmod_rewriteを多用していたが、(割となんでもできる)
WordPressでも使われてるじゃん?

故に、WordPressのTOPページで使われているせいか、
WordPressで動的に生成されるディレクトリPathにmod_rewriteが効かなかったりしたわけよ。

シンプルなRedirectとRedirectMatch

そこで、

  • Redirect
  • RedirectMatch

という2つのディレクティブがあることを知りました。(他にもある)

この2つはシンプルで、

Redirect permanent /one http://example.com/two
Redirect 303 /three http://example.com/other

apahce

とかの書き方でシンプルにリダイレクトさせることができる。

ただこいつは、

  • /sub/配下のすべてを、/new/ へリダイレクトさせる

といった、ワイルドカードや正規表現の指示ができない。

正規表現で指示するには、

RedirectMatchを使用する。

RedirectMatch (.*).gif$ http://www.anotherserver.com$1.jpg

apache

のように、正規表現が使えるので、~/配下すべてをリダイレクトさせる、というようなことも可能。

コメント