【ローカルWordPress】https://localhost に勝手にリダイレクトされる原因と解決法|SSLエラー「ERR_SSL_PROTOCOL_ERROR」の直し方
目次
この記事でわかること:
- ・ローカル開発環境で WordPress が勝手に https://localhost に切り替わる原因
- ・ERR_SSL_PROTOCOL_ERROR の解決方法
- ・wp-config.php や .htaccess の正しい設定方法
- ・ブラウザの HSTS を解除する方法
ローカル開発で「このサイトは安全に接続できません」と表示される
本番環境のDBをエクスポートしてローカル環境にインポートした上で、ローカル環境のWordPress サイトにアクセスしたところ、以下のようなSSLエラーが表示されました:
このサイトは安全に接続できません
localhost から無効な応答が送信されました。
ERR_SSL_PROTOCOL_ERROR
普段通り http://localhost:ポート番号
でアクセスしていたはずなのに、なぜか自動で https://localhost:ポート番号
にリダイレクトされてしまい、サイトが表示できなくなっていました。
原因:WordPressとSSLプラグインによるhttps固定
以下のような要因が重なって、HTTPアクセスが妨げられていました:
- ・WordPressの「一般設定」で
https://localhost:ポート番号
が指定されていた - ・SAKURA RS WP SSL プラグインが有効になっていた
- ・Chrome などのブラウザが HSTS により https を記憶していた
これにより、httpでアクセスしても 強制的にhttpsへリダイレクトされる状態になっており、しかもローカル環境にはSSL証明書がないためエラーが発生していました。
解決法1:wp-config.php にURLを明示
以下のコードを wp-config.php に追加することで、出力URLを強制的に HTTP に戻すことができます:
define('WP_HOME', 'http://localhost:ポート番号');
define('WP_SITEURL', 'http://localhost:ポート番号');
これで WordPress から出力されるすべてのリンクが HTTP に統一され、CSSや画像も正しく表示されるようになります。
※ポート番号はご自身の環境にあわせて変更してください
解決法2:SSL強制プラグインを無効化
SAKURA RS WP SSL プラグインは本番環境向けです。ローカルでは無効化しましょう。
- ・管理画面にアクセスできる場合:プラグイン一覧から停止
- ・アクセスできない場合:FTP等で該当プラグインのフォルダ名を変更
※SAKURA RS WP SSL プラグインにもSSL系プラグインが有効になっていないか確認しましょう
補足:.htaccessやブラウザのHSTSにも注意!
.htaccessにHTTPSリダイレクト設定がないか確認
以下のような記述があると、https に強制されます:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
このような記述があればコメントアウトまたは削除しましょう。
ChromeのHSTS設定を削除する方法
- 1. chrome://net-internals/#hsts にアクセス
- 2.「Delete domain security policies」に
localhost
を入力 - 3.「Delete」ボタンを押す
- 4. Chrome を完全に終了 → 再起動
トラブルシューティング:チェックリスト
- ・wp-config.php に HTTP の URL を指定したか?
- ・SSL系プラグインを無効化したか?
- ・.htaccess にリダイレクト設定がないか?
- ・HSTS を削除したか?
まとめ:ローカルではHTTPSを強制しない
WordPressローカル開発で「https://localhost:ポート番号
に勝手にリダイレクトされる」問題は、よくあるトラブルのひとつです。
この記事の方法を実践すれば、SSLエラーを避けてスムーズに開発を再開できます。
ローカル開発がストレスなく進むよう、ぜひ覚えておいてください!