Apacheの.htaccessでhttpからhttpsへリダイレクトする

下記のようにするとリダイレクトされます。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

また、localhost:8080とかで開発している時はhttpsにリダイレクトしてほしくない時は下記のように本番公開用のホストの時にというルールを追加することで実現できます。RewriteCondってのは続けて書くことができて、最後に書いたRuleが適用されるのです。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

最近Google ChromeがSSL前提の表示に変えてしまって、httpで接続すると「保護されていない通信」と出すんですよね。なのでSSLになると負荷が増すんで必要に応じてーと対応していましたが、全ページに渡りSSL接続のみできるようにしました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA