インフラエンジニアbacchiのわかったことまとめ

bacchi.me

Apache Linux Mac Windows

ApacheでRewrite設定はRewriteMapを使うといい感じになる

更新日:

ApacheでRewrite設定をする時に、RewriteMapを使うと設定ファイルがすっきりいい感じになったのでメモ。

RewriteMapを使うことで、RewriteRuleを書きまくる必要がなくなるので、記述の簡素化や運用の効率化ができるようになります。

実際にRewirteMapをつかってみる

例として、都道府県の情報を検索する画面で

上記のURLを以下に書き換えるとします。

RewriteMap用ファイルの準備

まず、RewriteMapを作成します。

Apache設定ファイルの編集

Apaheの設定ファイルの中にRewriteMapの設定を記述します。

RewriteMapは以下のように記述します。

多くの場合、タイプはtxtとすればよいでしょう。

RewriteMapは.htaccessには記述できませんので、気を付けましょう。

そして、RewriteRuleを指定します。

以上で完了です。

あとはApacheを再起動すれば、http://example.com/hokkaido.html にアクセスすると
http://example.com/pref.php?pref_id=01 へリライトされるようになります。

RewriteMapのタイプについて

Apache設定ファイルの編集の部分でも少し触れましたが、RewriteMapのタイプには5つの種類があります。

既存のRewriteRuleの設定をRewriteMapで補うのであればtxtの設定方法だけ知っておけばよいと思います。

  • txt
    • スペース区切りの一覧表
  • rnd
    • txt で値が複数指定されたものがランダムで選択
  • prg
    • 独自のプログラムを使う
  • dbm
    • SDBM/GDBM などが使える
  • dbd
    • SQL でデータベースにアクセス

参考Using RewriteMap

Sponsor Link

スポンサーリンク

Sponsor Link

スポンサーリンク

-Apache, Linux, Mac, Windows

Copyright© bacchi.me , 2018 AllRights Reserved.