apacheのmod_rewriteでパラメータを元にrewriteする。
今日、CGIで、特定のパラメータを渡した時だけRailsに渡したいっていう要件が出てきて
書くのにちょっと迷ったのでメモ。
結論から言うとQUERY_STRINGを使う。
考えてみれば当たり前の話。
REQUEST_URIとかいくら条件に追加しても成功しないわけだ。
というわけで設定例
RewriteEngine On RewriteCond %{REQUEST_URI} ^sample\.cgi RewriteCond %{QUERY_STRING} rails_param=true RewriteRule ^/(.*)$ balancer://mongrel%{REQUEST_URI} [P,QSA,L]
こうするとsample.cgiにアクセスした時、rails_paramパラメータにtrueがきた時、
mongrelのmod_proxy_balancerに飛んでくれる。