(6) httpでのアクセスをhttpsに飛ばす

投稿者: | 2015年8月12日

この記事は最終更新から 1089日 が経過しています。

.htaccessを使ってこれを実現したい。

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTPS} off
    RewriteRule . https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
</IfModule>

RewriteRule 直後の「.」は「なんでも」の意味がある。

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

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

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

RewriteRule の所は以下の書き方でも同じ動作をする。

1) 明示的に「先頭から末尾までのすべて」と指定する場合

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

2) 明示的に「先頭から末尾までのすべて」と指定し且つ、後方参照で $1 などで使えるようにする場合

※ただhttpsに R(Redirect)するだけなら後方参照は不要

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

コメントを残す

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


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)