ネット集客実践クラブ(大阪)

ERR_SSL_PROTOCOL_ERRORが起こる原因は?「.htaccess」の書き方じゃなく、SSLの設定ミス

SSLイメージ

最近、ネットのセキュリティ強化のために、ホームページの「SSL化」の作業を行っています。

SSLの設定と、今までのホームページからのhttpsへの転送設定(リダイレクト)をしたら

ERR_SSL_PROTOCOL_ERROR

のエラーで、httpsのwww付きサイトが表示されなくなりました。

原因は、

wwwのサブドメインでSSLに対応ができてなかった

だったので、「www無しのSSL化」だけじゃなく、「wwwもSSL化」すれば解決しました。

httpsとhttp どちらも「wwwなしhttps」へリダイレクトする方法、.htaccessの書き方

ということで、

  • http://www.net-syukyaku-jissen.club/(httpでwww付き)
  • http://net-syukyaku-jissen.club/(httpでwww無し)
  • https://www.net-syukyaku-jissen.club/(httpsでwww付き)

の3パターンを

  • https://net-syukyaku-jissen.club/

にリダイレクトで統一する方法です。

今回は、「.htaccess」に書きました。


# BEGIN 自分

RewriteEngine on
RewriteBase /

# httpからの通信を、httpsにリダイレクト(www有り無し)
RewriteCond %{HTTPS} off
RewriteRule ^(.*$) https://net-syukyaku-jissen.club/$1 [R=301,L]

# httpsからの通信でwww有りの場合、www無しにリダイレクト
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www.net-syukyaku-jissen.club$
RewriteRule ^(.*)$ https://net-syukyaku-jissen.club/$1 [R=301,L]

# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。

RewriteEngine On
RewriteBase /

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

httpsとhttp どちらも「wwwなしhttps」へリダイレクトする「.htaccess」の書き方解説

ワードプレスを使ってるので、後半の

# BEGIN WordPress
# “BEGIN WordPress” から “END WordPress” までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。

RewriteEngine On
RewriteBase /

RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

の周辺(正確には、「# BEGIN WordPress」と「# END WordPress」の間)に設定を書くと、ワードプレスによって上書きされてしまいますので、それより前に書きます。

設定の考え方として、まずは、

「httpでの接続を全部httpsにリダイレクト」

させ、その後

「www有りをwww無しにリダイレクト」

という流れです。

これだと、

「www有りをwww無しにリダイレクト」

してから、

「httpでの接続を全部httpsにリダイレクト」

にしても上手くいきそうなのですが、これだと、https://www.にいきなりアクセスされると

ERR_SSL_PROTOCOL_ERROR

になります。

というか、

そもそもwwwもSSL化しておかないと接続ポートが違うので、接続自体ができない

ってのが原因みたいです。

「.htaccess」の処理は、WEBサーバーにアクセスした後の処理なので、接続できてないと「.htaccess」自体処理できないってことですね。

ということで、

「httpでの接続を全部httpsにリダイレクト」

させ、その後

「www有りをwww無しにリダイレクト」

という設定にしました。

まず、

RewriteEngine on

は、リダイレクト設定を「on」にする部分です。

RewriteBase /

で、リダイレクトする内容を、htaccessを設置しているディレクトリじゃなく、ルートからのパスとして設定します。

で、

# httpからの通信を、httpsにリダイレクト(www有り無し)
RewriteCond %{HTTPS} off
RewriteRule ^(.*$) https://net-syukyaku-jissen.club/$1 [R=301,L]

という部分の「RewriteCond」で条件を決めます。

ここでは「httpsがoffだったら」ですね。

この条件に当てはまるアクセスがきたら

「RewriteRule」(リダイレクトのルール)で、httpsの接続へ転送してください

としています。

次に

# httpsからの通信でwww有りの場合、www無しにリダイレクト
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www.net-syukyaku-jissen.club$
RewriteRule ^(.*)$ https://net-syukyaku-jissen.club/$1 [R=301,L]

ですが、前の設定で、接続は全てSSLになってます。

なので、

「RewriteCond %{HTTPS} on」(httpsがon)

で、

「RewriteCond %{HTTP_HOST} ^www.net-syukyaku-jissen.club$」(www付きのアクセス)

だったら、

RewriteRule ^(.*)$ https://net-syukyaku-jissen.club/$1 [R=301,L](httpsでwww無し)

へ転送してください、となっています。

参考サイト)httpからhttpsにリダイレクト、www有無のリダイレクト方法(mod_rewrite)|レンタルサーバーナレッジ

関連記事

  1. ワードプレス・ロゴ

    アドセンスを掲載しようとしたら、ワードプレスのカスタムHTMLが…

  2. ワードプレス・ロゴ

    ワードプレスVer6.0にしたら、QTags.addButton…

  3. ワードプレス・ロゴ

    解決】ワードプレスで「致命的なエラーをチェックするためにサイトと…

  4. ワードプレス・ロゴ

    ワードプレスのテーマを変更してもGTMやアドセンスのタグが表示さ…

  5. ワードプレス・ロゴ

    Contact Form 7 でスパム送信が沢山くるので対応して…

集客のネタ話

  1. 「キニナル」発展計画。稼げるサイトにするまでの計画
    キニナルを「単月黒字化」させたいので、 何を狙って 具体的に何を目標にして、…
  2. 南河内の方々のホームページ、案外SSL化してないところ多いですね。
    キニナル・南河内 で 富田林 ・ 河内長野 ・ 大阪狭山市 にあるいろんなホームページを見ています。…
  3. 上手く行ってもTTPされる。TPPするよりは、自分の強みを伸ばすのが本来の事業経営
    なんかマーケティング界隈には、一時期、国際問題で話題になったTPP(環太平洋パー…
  4. ホームページ改善で、毎日予約が入るようにしたい。やるべきことは?
    Googleで広告を出して予約が入るようにサポートしていますが、今月(2022/06)は、…
  5. SEO、検索エンジンから売上までの最適化
    2022年05月26日にグーグルのコアアップデートがありました。Today, we'…
ページ上部へ戻る