.htaccessでリダイレクトをする方法

「.htaccess」でリダイレクト…新規サイトを作る時に必須の作業。
備忘録的に書いておきます。

HTTP→HTTPSリダイレクト

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

wwwあり→なし統一

最近のNackyは主に「なし」派。

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

…こういう情報はあちこちにあります。

コピペの罠!不要コード

両方ともコピペで.htaccessに入れても動きますが、コピペゆえに起こるミス。
このふたつをコピペすると「RewriteEngine On」が2回登場することになる。
Apacheは許してくれるけど、厳密に書くなら

# HTTP → HTTPS + wwwなし統一

RewriteEngine On

# HTTP → HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# www → なし
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

.htaccessの最初の一歩。