プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
.htaccessで正規表現を使ったリダイレクトを行う
結論から書くと「RedirectMatch」を使って

RedirectMatch permanent 【リダイレクト元】 【リダイレクト先】

のように.htaccessに記述すれば、正規表現を使ったリダイレクトが実現できます。
例えば

RedirectMatch permanent /dir1/(.*)\.html$ /dir2/$1.html

のように指定しておくと

http://~~/dir1/ほげ.html

のような「dir1/」配下のHTMLファイルに対するアクセスが、自動的に

http://~~/dir2/ほげ.html

のように「dir2/」配下にリダイレクトされますよ。
「dir1/○○.html」を「dir2/○○.html」にリダイレクトしてね、な指定です。

「/dir2/$1.html」の「$1」は、リダイレクト元で指定した正規表現にマッチした部分が入ります。
例えば

RedirectMatch permanent /dir1/(.*)\.html$ /dir2/$1.html

な指定がされていて

dir1/hoge.html

に対するアクセスがあった場合、
「hoge」の部分が「$1」に相当します。

また正規表現部分が複数あるときは「$1」「$2」のように増えていきます。
例えば

RedirectMatch permanent /dir1/([a-z]+)([0-9]+)\.html$ /dir2/$1$2.html

な指定がされていて

dir1/hoge10.html

に対するアクセスがあった場合、
「hoge」の部分が「$1」に、「10」の部分が「$2」に相当します。

大して意味は無いですが、

RedirectMatch permanent /dir1/([a-z]+)([0-9]+)\.html$ /dir2/$2$1.html

のような指定がされていた場合、

dir1/hoge10.html

に対するアクセスは

dir2/10hoge.html

にリダイレクトされます。

基本はそれくらいです。
正規表現の書き方とかは、適当に勉強してください。
覚えて応用すればいろいろ遊べますよ。

ちなみに、正規表現を使わない場合は「Redirect」を使って

Redirect permanent 【リダイレクト元】 【リダイレクト先】

でOKです。
併せて覚えてあげてください。

そんな感じ\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:● 環境設定関連  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事