mod_rewriteはあまり使うことがないので、なかなか設定を覚えられず、毎回調べないといけない。 今回は、/do_something.cgi?id=123 を /do/something/123/ にリライトしたくて調べた。来週になったらもう忘れてそうなのでメモしておく。 まずRewriteRuleでは「?」以降はマッチ対象にならないということが分かった。RewriteCondを使ってQueryStringをマッチさせて、その後でRewriteRuleする。RewriteCondでマッチしたものは%変数に格納され、RewriteRuleで使える。 RewriteCond %{QUERY_STRING} id=(\d+) RewriteRule ^/do_something.cgi /do/something/%1/ [R=301,L] これで特に問題なくリライトはされるのだけど、リダイ
mod_rewriteとは Apacheのモジュールのひとつで、アクセスURLを正規表現で書き換えることができます。リダイレクト処理を行うのに便利なモジュールです。 モジュールの解説ドキュメントによれば URLを操作するためのスイス製のアーミーナイフ と例えられるほど、非常に複雑な処理を行えます。 URLからURLへ、同一サーバ内URLだろうが、別サーバURLだろうが問いません。 引数を含む動的URLを通常のHTMLファイルのような静的URLに見せることも可能です。 素晴らしく詳細なマニュアルもありますが、機能が多いだけに情報量が多く読むのも面倒だと思いますので、ここでは、mod_rewriteを使用すると便利な場面を想定して具体的に解説してみたいと思います。 mod_rewriteの基本 ひとまず、mod_rewriteはApacheのモジュールです。インストールされていなければ、サーバ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く