2007年5月17日木曜日

ApacheのRewriteMap

Apacheのmod_rewriteのRewriteMapについてのメモ

今回は
http://q.hoge.com/ を http://www.hoge.com/sub/123/
にrewriteする。
単純なテキストファイルを用意
/home/qootaro/rewritemap/map.txt

形式はキー<スペース>値
なので
q.hoge.com 123
として保存

rewriteの設定は以下のとおり

RewriteEngine on
RewriteLog /var/log/apache2/rewrite.log
RewriteLogLevel 9
RewriteMap submap txt:/home/qootaro/rewritemap/map.txt
RewriteCond %{HTTP_HOST} q.hoge.com
RewriteRule /(.*) http://www.hoge.com/sub/${submap:%{HTTP_HOST}}/ [L]

もちろん、これはサブドメイントップ以下のページを全部同じ
URLにrewriteしてしまうので、本来は通常のIDが含まれたURLだけど、特定のIDのページだけサブドメインに割り当てたい というような時に使用できると思います。
(それ以外は実用性ゼロw)

0 件のコメント: