さくらレンタルサーバーでは .htaccess でドメインなしありを統一する方法が紹介されています。
この記事ではヘルプを参考に実際のドメインを例に設定をしてみましょう。
さくらレンタルサーバーでは、.htaccess なしのプラグインを利用する方法が紹介されています。.htaccess を編集するよりも、プラグインの利用を推奨します。
目次
.htaccessで www なしドメインを統一
さくらレンタルサーバーで紹介されているヘルプでは次のようになっています。
WordPressを常時SSL化、かつwww.無しドメインでのアクセスに統一したい
https://help.sakura.ad.jp/rs/2163/?article_anchor=js-nav-3
.htaccessの設定例
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.example\.jp) [NC]
RewriteRule ^(.*) https://example.jp/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
こちらを参考にすればOKです。
例えば以下の部分などは他のサーバーでも使えますね。
RewriteCond %{HTTP_HOST} ^(www\.example\.jp) [NC]
RewriteRule ^(.*) https://example.jp/$1 [R=301,L]
こちらはロリポップ!レンタルサーバーの .htaccess で利用したことがあります。
実際のドメインを例に設定
当サイトのドメインは、camon.tokyo ですので .htaccess に以下のように記載します。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.camon\.tokyo) [NC]
RewriteRule ^(.*) https://camon.tokyo/$1 [R=301,L]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>
example.com の部分を camon.tokyo に書き換えました。
このようにお持ちのドメインに書き換えて .htaccess へ記載することで、www ありのドメイン( https://www.camon.tokyo )を www なしのドメイン( https://camon.tokyo ) に統一することができました。
また SSL に統一されているので、HTTP でのアクセスも HTTPS にリダイレクトされるのが良いですね。
さくらレンタルサーバーの .htaccess では挿入場所に注意
.htaccess に挿入すれば OK と記載しましたが、さくらレンタルサーバーの .htaccess を確認したところ、記入場所には注意が必要だと感じました。
ソースを以下に表示しますのでご確認ください。
# BEGIN SAKURA Internet Inc.
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/x-javascript application/javascript application/ecmascript
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
<FilesMatch "\.(css|js)$">
ExpiresDefault "access plus 1 week"
</FilesMatch>
<FilesMatch "\.(gif|jpe?g|png)$">
ExpiresDefault "access plus 1 month"
</FilesMatch>
</IfModule>
# END SAKURA Internet Inc.
# ここに常時SSL化のコードを記載
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
ソース内に「ここに常時SSL化のコードを記載」とコメントさせてもらいました。.htaccess にある 「#BEGIN WordPress」というブロックの後ろに記載してしまうと、動作に少し問題が生じたので躓きポイントだと感じました。
ドメイン設定は .htaccess で簡単に設定しよう
www ありドメインを統一したり、HTTP のリダイレクトは、インターネット上には様々な方法が紹介されているため、何を選択していいのか迷ってしまうこともあるかもしれません。
当記事のさくらレンタルサーバーで紹介されている方法は、シンプルでさらに試しやすいリーズナブルな方法と感じています。とてもシンプルでおすすめの方法です。
ドメイン周りのリダイレクトなどで迷ったらこの手法をご利用ください。
参考
https://help.sakura.ad.jp/rs/2214/
CAMON.TOKYO の吉澤修です。
記事に関連したお困りごとやお仕事のご相談などはお問い合わせからご連絡ください。