kyuuuuuuuuuuriのブログ

うぇぶエンジニアになりたくてなりたくて震えるもろきゅうの日記です

リライト

URLを自在に操れるわざ
基本的な書き方

RewriteRule ^/hoge/piyopiyo/([^/]+)/?$ /HogehogePiyopiyo/$1 [QSA,PT,L]


前者がサイトからたたくURLで、後者がサーバ側がアクセスするURL
上記の例だと、
http://localhost/hoge/piyopiyo/aaa/
とアクセスした場合、HogehogePiyopiyoアクションのaaaメソッドにアクセスします。
*ただしSAStrutsを使う前提で話をすすめてます

URLの後の値は、
QSA:リライトしてもパラメータを保持する
PT:?よくわかってない
L:ひっかかったら、ここで処理をやめますよ
詳しいことは以下のURLに!
http://tm.root-n.com/server:apache:module:rewrite

あとは正規表現
*[]の中の^は、否定をあらわす 例:[^A]は、A以外
*?は、前の文字があっても、なくてもいいをあらわす 例:[ab?]だったら、aでもabでもひっかかる

ちなみに、この設定はApacheを使っている場合、Apachehttpd.confから呼び出す必要がある

リライトができたら、URL操作がとても楽になる!どんなURLも自在にあやつれる!
よって、ハッピーになれる!