(36) ホームページへのアクセスをhttpsに制限

投稿者: | 2016年6月9日

http://www.xxxxxxxxxxxx.xxx/
へのアクセスを禁止し、
>https://www.xxxxxxxxxxxx.xxx/
にアクセスさせるようにしたい場合のお話です。

方法1:httpでのアクセス時は表示を拒否する場合

.htaccessに以下の1文を追加する。

SSLRequireSSL

方法2:httpでのアクセス時は強制的にhttpsに変更させる場合

.htaccessに以下を追加する。

<IfModule mod_rewrite.c>
RewriteEngine on
# HTTPSでのアクセスがOFFならば(=HTTPSでのアクセスでないならば)
RewriteCond %{HTTPS} off
# BASE配下の全文字を「https://ホスト名/URI」に変えて [R:リダイレクト]し[L:終わる]
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

%{xxxxxx} は Apacheで定義されている変数名を使い、環境変数にアクセスする。
HTTPS : HTTPSアクセス or not

HTTP_HOST : URLに含まれるホスト名
 https://www.dogrow.net/linux/blog36

REQUEST_URI : ベースディレクトリからの相対パス
 https://www.dogrow.net/linux/blog36

変更前のURLを $1 として後方参照していないので RewriteRuleは以下でもよい。

RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

参考情報

ありがとうございます。 m(_ _)m
https://weblabo.oscasierra.net/apache-rewritecond-base/


コメントを残す

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