railsとcgiを同居したい
予算が足りなくてしぶしぶcgiが使いたい
VirtualHostで運用しているので複数のrailsアプリを動かすのにlighttpdを使っておきたい
まとめると、
railsへのアクセスは、下のように
http-client -> apach2 -> lighttpd
静的なコンテンツとCGIは下のようにしたい
http-client -> apach2
で、apacheの設定は結果的にはこうなった
ServerName [sitename]
ServerAlias www.[sitename]DocumentRoot /home/sites/[sitename]/htdocs/
ScriptAlias /cgi-bin/ /home/sites/[sitename]/htdocs/cgi-bin/RewriteEngine On
RewriteCond /home/sites/[sitename]/htdocs%{REQUEST_FILENAME} !-F
RewriteRule ^/(.*)$ http://[sitename]:8080/$1 [P,NE,L]
しかし、
RewriteCond %{REQUEST_FILENAME} !-F
では無く↓でないとうまくいかなかった(なんで?)
RewriteCond /home/sites/[sitename]/htdocs%{REQUEST_FILENAME} !-F