Apacheでhttp→https, www→無しのリダイレクト設定を実装する
以下の<やりたいこと>2つをApacheで実装するやり方を記載しました。
意外に中々纏まっている記事がないので、備忘録として。
< やりたいこと >
・httpで来たらhttpsにリダイレクト
・www付きで来たらwwwを削除する
< 実装内容 >
設定ファイルに以下を記載するだけです。
AWSのEC2にアクセスする際にELBを通ってアクセスしますが、そこでhttps(443)→http(80)に直った状態で、EC2にアクセスしにくる。その際にリダイレクトループに陥らないための書き方が、「 %{HTTP:X-Forwarded-Proto} =http 」の部分なので要注意でした。
RewriteEngine On # redirect from http to https RewriteCond %{HTTP:X-Forwarded-Proto} =http RewriteRule ^/(.*) https://%{HTTP_HOST}/$1 [R=permanent] # redirect from www.example.com to example.com RewriteCond %{HTTP_HOST} ^www.example.com [NC] RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
以下の参考サイトのおかげでリダイレクトループから脱出できました。
ここら辺はAWS特有だから気付きにくかった。。
▼参考サイト qiita.com
今日もお疲れ様でした。