Beanstalkを使っていて、wwwを統一したいとき、httpd.confはいじれないので、htaccessで行うことにしました。
httpの場合は簡単なのですが、httpsの場合はネットワークインターフェースを噛ましてるので、うまく行かず。SERVER_PORTとか取れないんですね。
いろいろ探して、以下のようにしたらできたようなのでメモ。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.jp
RewriteCond %{HTTP:X-Forwarded-Proto} =https
RewriteRule ^(.*)$ https://www. example.jp/$1 [r=301,L]
RewriteCond %{HTTP_HOST} ^ example\.jp
RewriteRule ^(.*)$ http://www. example.jp/$1 [R=301,L]
</IfModule>