コピペで使えるwwwの有無、https統一する.htaccessの記述方法 2019.06.06コピペで使えるwwwの有無、https統一する.htaccessの記述方法■.htaccessファイルの転送の記述 .htaccessファイルを使用するには、Apache HTTP Server(Webサーバー)でmod_rewriteモジュールが有効になっている必要がありますが、ほとんどのレンタルサーバーでデフォルトで使用できるようになっています。■wwwの有無、httpsに統一出来るコピペで使える記述方法 ドメイン名を記述していないので、どのドメインで使う場合もコピペでOKです。—————ここから————————-RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteRule ^(.*)$ https://%1%{REQUEST_URI} [R=301,L] RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]—————ここまで————————-■記述内容の詳しい説明URL書換と転送の記述は以下のようになっています。RewriteCond %変数名 条件 [フラグ] ewriteRule URL書換&転送の記述 RewriteCondに記述した条件に合致したとき、RewriteRuleに記述したURL書換と転送が実行されます。 RewriteCondを複数行記述すればAND条件となり、複数行にフラグ[OR]をつければOR条件となります。1行目、7行目は、mod_rewriteモジュールが有効かどうか判定する条件式となっており、有効であることが間違いないのであればなくてもOKです。 2行目が、Rewrite機能を使用するのでオンに。 3~4行目が、wwwなしに統一、5~6行目が、httpsに統一する記述です。■wwwあり・なしの部分 個別に簡単に説明すると、RewriteCondの「(.*)」とRewriteRuleの「%1」がポイントとなっています。 RewriteCondでカッコを使って一致した値は、RewriteRuleで変数%X(一致した順に連番)を利用して参照することができるため、この転送の記述で「https://www.mydomain.com/」は「https://mydomain.com/」のようにwwwなしに転送されます。%{HTTP_HOST} … サーバーのホスト名が ^www\.(.*) … www.から始まる場合 [NC] … 大文字・小文字区別せず(これは無しでもよいかと) https://%1%{REQUEST_URI} … httpsのURLへ転送 [R=301] … レスポンスコード「301」(恒久的に転送) [L] … 直後に続くRewriteRuleを実行しない なお、wwwありに統一する場合は、以下のように記述します。RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] http・httpsの部分 こちらは特にポイントとなるようなところはありません。%{HTTPS} off … httpsでのアクセスではない場合 https://%{HTTP_HOST}%{REQUEST_URI} … httpsのURLへ転送 なお、https化が必須になってきている流れもありますので、httpに統一する場合は省略します。 前の記事へ 次の記事へ