.htaccessとmod_rewriteによるHTTPとHTTPSリダイレクトのまとめ

サーバー・データベース
スポンサーリンク

サイトの中でHTTPSでアクセスさせたいディレクトリ「secure/」があるとして、HTTPアクセスを強制的HTTPSでリダイレクトする方法のまとめです。

サーバがSSLに対応しており、.htaccess、mod_rewriteが使えればHTTPアクセスをSSLでリダイレクトすることが可能ですし、またその逆(SSL → HTTP でリダイレクト)も可能です。

secure/ディレクトリをHTTPSでリダイレクト

まずは secure/ディレクトリを SSL に対応させるための.htaccessです。

サイトの中で、HTTPSでアクセスさせたいディレクトリ「secure/」があるとして、HTTPアクセスを強制的にHTTPSでリダイレクトする方法のまとめです。

サーバがSSLに対応しており、.htaccess 、mod_rewrite が使えれば HTTPアクセスをSSLでリダイレクトすることが可能ですし、またその逆(SSL → HTTPでリダイレクト)も可能です。

secure/ディレクトリをHTTPSでリダイレクト

まずはsecure/ディレクトリをSSLに対応させるための.htaccessです。

secure/ディレクトリに以下の.htaccessを設置します。


RewriteCond %{HTTPS} offは「SSLが無効の場合」という条件で、この条件の時はRewriteRuleHTTPSでリダイレクトさせています。

最終行の[R,L]は、[R]は「redirect」で、[L]は「last」の意味です。
[L]と書けば「ここで RewriteRule はおしまい」となります。

ちなみに、[R]は「302リダイレクト」ですが、[R=301] と書けば「301リダイレクト」になります。


SSLアクセスをHTTPでリダイレクト

先とは逆で、SSLアクセスをhttp://でリダイレクトする方法です。

ルート直下に以下の.htaccessを設置します。


https://でアクセスされたページをhttp://でリダイレクトする感じです。

参考ページ
apache :: Rewrite(mod_rewrite)

コメント

タイトルとURLをコピーしました