WordPressで常時https(SSL)化する

どうもユーキです。

この間までなぜかWordPressサイトでhttpsリダイレクトが一部だけがうまくいってなくてどういうこと?っとなったので備忘録として記載しておきます。

常時https化する手順

※すでにSSL証明書の設定は終わっている前提です。

色々調べると以下を貼り付ければOKということだったので、早速.htaccessの一番下に貼り付けてみました。

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

http://tnyk.jp/xxxxx/ という固定ページにアクセスしてみたところ、おぉうまくいってるな!となり放置しておりました。

つい先日http://tnyk.jp/category/postname/ にアクセスして見たらあれれhttpsにならないぞ…?

それで色々調べてみたところ、書く順番がおかしかったみたいです。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

こんなかんじで、WordPressのデフォルトの設定で書かれてると思うのですが、この記述の上にかかないとだめということでした。

簡単なミスですが普通に仕事だと致命的なミスだと思うのでみなさんも気をつけてください。

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

# ---------- 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の記述を書くときは上ですよ。上に!!書く!!

About Me

プロフィール画像

ユーキと申します。北海道恵庭市という札幌と新千歳空港の間でフリーランスのWebエンジニアとして活動してます。

当サイトのブログでは、主にWeb制作全般、フリーランス周りの情報など色々なノウハウや知識を載せています。
その他日々気になったこと、思ったことも書いてます。

お仕事の相談など何かありましたら、お問い合わせかツイッターのDMからお気軽にご連絡くださいませ。

お問い合わせはこちら

ツイッターはこちら

ポートフォリオはこちら

Latest Posts

Popular Posts

TOP