httpsとwww統一の設定をしてみた(Xserver・さくらレンタル)

2023.01.20 15:08
2023.05.18 18:27
httpsとwww統一の設定をしてみた(Xserver・さくらレンタル)

Xserverやさくらレンタルなどのレンタルサーバーでのhttpsとwwwを統一する方法がわからなかったので、調べてメモしてみました。それぞれの会社のサーバーや設定によって若干クセがあるようでした。設定は.htaccessに記述します。

Xserverでの設定

https強制/wwwなし

RewriteEngine on
RewriteBase /
# wwwありの場合、なしにリダイレクト
RewriteCond %{HTTP_HOST} ^(www.hogehoge\.com) [NC]
RewriteRule ^(.*)$ https://hogehoge.com/$1 [R=301,L]
# httpでのアクセスはhttpsにリダイレクト
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

https強制/wwwあり

RewriteEngine on
# wwwなしの場合、ありにリダイレクト
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
# httpでのアクセスはhttpsにリダイレクト
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode

さくらレンタルでの設定

https強制/wwwなし


<IfModule mod_rewrite.c>
    RewriteEngine On 
    # httpでのアクセスはhttpsにリダイレクト
    RewriteCond %{ENV:HTTPS} !^on$
    RewriteCond %{HTTP:X-SAKURA-FORWARDED-FOR} ^$
    RewriteRule ^(.*)$ https://hogehoge.com/$1 [R=301,L]
    # wwwありの場合、なしにリダイレクト
    RewriteCond %{HTTP_HOST} ^(www\.hogehoge\.com) [NC]
    RewriteRule ^(.*) https://hogehoge.com/$1 [R=301,L]
</IfModule>

https強制/wwwあり

wwwありの場合は、さくらのコントロールパネルからwwwのサブドメインを追加し、SSLを割り当てておく必要があるようです。こっちのほうがちょっとめんどくさいですね。

<IfModule mod_rewrite.c>
    RewriteEngine On 
    # httpでのアクセスはhttpsにリダイレクト
    RewriteCond %{ENV:HTTPS} !^on$
    RewriteCond %{HTTP:X-SAKURA-FORWARDED-FOR} ^$
    RewriteRule ^(.*)$ https://hogehoge.com/$1 [R=301,L]
    # wwwなしの場合、ありにリダイレクト
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

個人的にはwwwなしで統一するのがすっきりかなぁと思っています。

今回は以上です!