page_adsence

2011年3月9日水曜日

非SSLページからSSLページへリダイレクト

非SSLページからSSLにリダイレクトさせたい場合は、ssl.confに記載されている部分には触れずに、
httpd.conf内のバーチャルホストの設定を変更する。

<VirtualHost *:80>
    ServerName ~~~
    ServerAdmin ~~~
    DocumentRoot ~~~
    ErrorLog ~~~
    CustomLog ~~~
    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{SERVER_PORT} !^443$
        RewriteRule (.*) https://%{HTTP_HOST}$1 [L,R]
    </IfModule>
</VirtualHost>

赤文字で記載されている部分を追記し、apacheの設定をリロードすればリダイレクトされるようになる。
この設定はポート443以外でアクセスされた全てのリクエストをSSLページにリダイレクトする。
という設定である。
例)
http://test.co.jp/test.phpにアクセスがあった場合に、https://test.co.jp/test.phpにリダイレクトされる。