WordPressの常時SSL&WWW統一のリダイレクト設定

この記事には広告を含む場合があります。記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

mixhostでは2022年8月現在、初期設定のままでhttpsいわゆるSSLが設定されます。

そのため、個人ブログの人はhttps化のために何かをする必要はありません。

しかし初期設定のままだと、http://ドメインという「s」が付与されないURLでもアクセスができてしまいます。

例えばこんな具合に。

ブラウザに「保護されていない通信」とそういった旨の表示されるはずです。

こちらをhttpでアクセスされた場合に、httpsに強制的にリダイレクトさせる設定をしていきます。

設定には「.htaccess」ファイルを編集していきます。

.htaccessにリダイレクト設定を記述する

mixhostのcPanelからファイルマネージャーを開き、ドメイン直下の「.htaccess」を編集します。このファイルは変な編集をするとサイトが表示されなくなる危険がありますので事前に退避しておいてください。

もともと記載のある記述は消さないで、以下を追記します。

なお、文中の「gitigeek」は私のドメインなので各自読み替えて編集してください。

.htaccess
# 独自記述 BEGIN
# 表示ページが見つからない場合、ディレクトリのファイル一覧を表示させないようにする
Options -Indexes
<IfModule mod_rewrite.c>
# RewriteEngine ディレクティブはリライト機能を有効にするためのディレクティブです
RewriteEngine On
# wwwなしかつhttpsのURLに統一するための記述
## RewriteCondは次行以降に書いたRewriteRuleを適用する
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-SSL} !on
RewriteCond %{HTTP_HOST} ^gitigeek\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.gitigeek\.com$
## 上記までに書いたRewriteCondのルールに該当する場合にリダイレクト。301は恒常的なリダイレクトを意味する
RewriteRule ^(.*)$ "https\:\/\/gitigeek\.com\/$1" [R=301,L]
# リダイレクトする度に当該ファイルの最初からルール判定が行われる
</IfModule>
# 独自記述 END

http://ドメインでアクセスしてリダイレクトを確認する

http://gitigeekでアクセスすると強制的にhttps://gitigeekにリダイレクトされるはずです。

www付きのURLもなしに強制的にリダイレクトしています。

うまく反映されないときはブラウザのキャッシュを削除するか、ブラウザのシークレットモードで動作確認をしてください。