1,135 views
この記事は最終更新から 2164日 が経過しています。
.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]