DOTLOG

WordPressで常時https(SSL)化する

どうもユーキです。

この間までなぜかWordPressサイトで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の記述を書くときは上ですよ。上に!!書く!!

COMMENTS

About Me

プロフィール画像

ユーキと申します。27歳の道産子です。犬、ゲーム、お酒、食べること、旅行大好きです。飲み友募集中です。

2018/12より再びフリーランスになりました!

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

お問い合わせはこちら

Latest Posts

Popular Posts

TOP