
UNIX Cafe | 第81回
はじめに|「あれ?両方開く…」
カフェのカウンターで、
いつものようにブラウザを開きます。
WordPress をインストールして、
SSL を ON にしました。
管理画面も、URL も、
すべて https です。
……なのに。
http://example.com
を開いてみると、普通にページが表示されてしまう。
「あれ?」
「これ、問題ないのかな?」
今日は、そんな 小さくて大きな疑問 から始まるお話です。
結論を先に|これは Xserver の仕様です
先に結論を書いておきます。
これは、Xserver の仕様です。
Xserver の「WordPress簡単インストール」を使っても、
- 独自SSLをON
- WordPressのURLをhttpsに変更
それだけでは、
http → https のリダイレクトは設定されません。
つまり、
http と https が両方存在してしまう状態は、初期状態では正常なのです。
どうして両方存在してしまうのか
ここで、少しだけ仕組みの話をします。
独自SSLとは?
独自SSLをONにすると、
- https でアクセスできる
- 暗号化通信ができる
ようになります。
でも、これはあくまで
https が「使える」ようになるだけです。
リダイレクトとは別の話
http を https に自動で送り直す仕組み。
これが リダイレクト です。
Xserverでは、
- SSLの有効化
- http → https の転送
は、別の設定として扱われています。
よくある「やったのに直らない」状態
ここで、よくある流れを整理します。
- SSLをONにした
- WordPress一般設定を https にした
- 管理画面も https
- ブラウザで見ると https に見える
「直った気がする」
でも──
http://example.com
を直接開くと、そのまま表示される。
これは、「直った」のではなく
「https も使えるようになった」だけという状態です。
見た目では分からない理由
ブラウザは、とても親切です。
- https を優先して表示
- 過去の履歴を覚えている
- 自動で切り替えてくれることもある
そのため、
ブラウザだけ見ていると
問題に気づきにくいという落とし穴があります。
本当に確認すべき方法|curl で見る
こういうときは、
少しだけ中身をのぞいてみましょう。
ターミナルでこのように打つと、いまどういう状況なのかが分かります。
curl -I http://example.com結果の見方
❌ よくない状態
HTTP/1.1 200 OKこれは、http がそのまま処理されているという意味です。
⭕ 正しい状態
HTTP/1.1 301 Moved Permanently
Location: https://example.com/これが、正しく https に転送されている状態です。
なぜ .htaccess を書いても効かないことがあるのか
ここで、少しだけ理由をたどってみます。
Xserver は、
- nginx
- Apache
の 2段構え で動いています。
構成によっては、
- http の処理が nginx で終わり
- Apache(.htaccess)に届かない
ことがあります。
特に、
- サブディレクトリ構成
/wp/配下に WordPress
こうした場合、
「書いたはずなのに効かない」 が起きやすくなります。
正しい直し方①|XserverのHTTPS転送
まずは、Xserver側の設定です。
サーバーパネルで確認
- ドメイン
- SSL設定
- HTTPS転送
ここが ON になっているかを確認します。
※ ただし、構成によっては
これだけでは効かない場合があります。
正しい直し方②|.htaccess で強制する(確実)
確実なのは、
http を物理的に通さない 方法です。
書く場所が重要
# BEGIN WordPress# END WordPress
この 外側(上) に書きます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>これで、
- http は必ず
- https に転送されます
サブディレクトリ構成の落とし穴
今回、とても重要だったポイントです。
WordPress が/wp/配下にある場合、
- 直下の .htaccess
- /wp/ の .htaccess
どこに書くかで結果が変わります。
「正しく書いているのに直らない」
その原因は、効く階層がズレていることがほとんどです。
もう一度、curl で確認する
設定が終わったら、もう一度確かめてみましょう。
curl -I http://example.com/wp/ここで、
301 Moved Permanentlyが返ってくれば、
ようやく 本当に直った 状態です。
まとめ|「直った気がする」と「正しい」は違う
- SSLをONにした
- 管理画面がhttpsになった
それだけでは、安心とは言えません。
大切なのは、
- http が生きていないか
- 正しく 301 されているか
- 検索エンジンにどう見えるか
こうした一段奥の確認が、
後々の安心につながります。
黒い画面は、
怖い場所ではありません。
静かに真実を教えてくれる、
カフェの裏口のようなものです ☕
さらに学びたいあなたへ
📘 用途ごとに選ぶ Linux のおすすめ本

