PLESKを使ったレンタルサーバでmod_rewriteが効かない

JavaWebアプリケーションで個人情報入力フォームなんかがあるページの場合は、大抵HTTPSプロトコルmod_rewriteを使ってリダイレクトさせているのだが、PLESKという管理ツール付きで申し込んだレンタルサーバ(マイティサーバー)でリライトが効かないという現象でかなりハマってしまった。

通常だったらhttpd.confに

<IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteLog  /var/log/httpd/rewrite_log
      RewriteLogLevel 3
      RewriteCond %{SERVER_PORT} !^443$
      RewriteRule ^/hoge/(.*)?$ https://%{HTTP_HOST}/hoge/$1 [L,R]
</IfModule>

って書いてたらもうばっちりHTTPSプロトコルへ飛ばしてくれて、ログもこれでもか!!ってくらい吐かれるんだが、今回は全くそんな挙動は見せてくれなかった。

んで、試行錯誤しつつ色々やって色々調べてみたらどうやらPLESKを使ってドメイン管理している場合は以下のパターン名パスに対象ドメインの設定ファイルやドキュメントルートが設定されるらしい。

/home/httpd/vhosts/<ドメイン名>/

じゃあ、リライトの設定はどこに書けばいいのかっていうと

/home/httpd/vhosts/<ドメイン名>/conf/httpd.include

に書けばよいらしいのです。

/home/httpd/vhosts/<ドメイン名>/conf/httpd.includeの内容
<VirtualHost 99.99.99.99:80> 
        ServerName   hoge.jp:80
        ServerAlias  www.hoge.jp
        UseCanonicalName Off
        DocumentRoot /home/httpd/vhosts/hoge.jp/httpdocs
        CustomLog  /home/httpd/vhosts/hoge.jp/statistics/logs/access_log plesklog
        ErrorLog  /home/httpd/vhosts/hoge.jp/statistics/logs/error_log
<IfModule mod_userdir.c>
        UserDir /home/httpd/vhosts/hoge.jp/web_users
</IfModule>
        <IfModule mod_ssl.c>
                SSLEngine off
        </IfModule>
        <Directory /home/httpd/vhosts/hoge.jp/httpdocs>
        <IfModule sapi_apache2.c>
                php_admin_flag engine off
        </IfModule>
        <IfModule mod_php5.c>
                php_admin_flag engine off
        </IfModule>
                Options -Includes -ExecCGI
        </Directory>
        <Directory /home/httpd/vhosts/hoge.jp/web_users>
        <IfModule sapi_apache2.c>
                php_admin_flag engine off
        </IfModule>
        <IfModule mod_php5.c>
                php_admin_flag engine off
        </IfModule>
        </Directory>

#↓以下リライト記述を追記↓
<IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteLog  /var/log/httpd/rewrite_log
      RewriteLogLevel 0
      RewriteCond %{SERVER_PORT} !^443$
      RewriteRule ^/hoge/(.*)?$ https://%{HTTP_HOST}/hoge/$1 [L,R]
</IfModule>
</VirtualHost>

設定ファイルを保存したらApache再起動後にばっちりHTTPSにリライトされるようになりました〜