ウェブマスターがウェブのことを書いたら

ウェブマスターとして働いている管理人がウェブで躓いたこと、ググったことを備忘録として書いています。主に技術的なこと、WEBサイト設計のこと

ロリポップでwwwありなしの統一正規化ができない!問い合わせて解決

      2019/08/17

 - WordPress, レンタルサーバー

ロリポップで運営しているWordPressサイトでwwwあり・なしの統一設定がどうしてもできなくてかなりはまりました。結果サポートに問い合わせると原因がすぐに分かり解決できました。備忘録です。

wwwなしに設定したいができない

このブログもそうですが、https://www.tuono034s.comでアクセスされた場合にhttps://tuono034s.comにリダイレクトされるように.htaccessの設定をしました。

https://www.tuono034s.com ⇒ https://tuono034s.com

設定方法は以前記事にもしましたが、以下の記述を追加してもリダイレクトされませんでした。

RewriteEngine on
## wwwなしに統一
RewriteCond %{HTTP_HOST} ^www\.tuono034s\.com$
RewriteRule ^(.*)$ https://tuono034s.com/$1 [R=301,L]

↓クロームでhttps://www.tuono034s.comにアクセスするとこの状態です。

尚、SSL化はしていますので、httpでアクセスされた場合にはhttpsにリダイレクトされるようにこちらは.htaccessで設定済です。↓(設定方法はこちらのページの内容を記述しています。)

httpでアクセスした場合にhttpsにリダイレクト


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

ロリポップのヘルプページも確認

記述方法が間違っているのかもと思いロリポップのヘルプを確認してみましたが、こちらのページでも同じ設定内容でした。
» URLの書き換え / サーバー・プログラム / マニュアル – レンタルサーバーならロリポップ!

ほかにネット上を調べてみると、「ロリポップの管理画面内で独自ドメインの設定を行えば勝手に統一できる」というのがありましたが、こちらは問題なく設定できていました。

ほかには、「ロリポップの管理画面内でwwwのサブドメイン設定を行えば勝手に統一できる」というのもありましたが、こちらも問題なく設定できていました。対象ディレクトリも同じディレクトリを指定しているので間違いもなかったです。(こちらは独自ドメインを設定した際に自動で設定されていたように思います。自分で設定したときにwwwありとなしのディレクトリ指定が違っていた場合にエラーになるようです。同じディレクトリを指定する必要があります。)

色々調べましたが、ロリポップでは.htaccessにwwwありなしの統一設定をしなくても、管理画面内で独自ドメインの設定とwwwのサブドメインの設定(メインがwwwありの場合はなしの設定)を行っていれば自動で統一されてリダイレクトされるようです。

ですが、私の環境ではできませんでしたのでサポートに問い合わせてみました。

ロリポップのサポートからの返信内容

お問合せいただきました件に関しまして
リダイレクトを行うためには、転送前・転送後の両方のアドレスへ
アクセスが可能である必要がございます。

『 www.tuono034s.com 』について確認いたしましたところ
サブドメインについては、独自SSLの設定が行われていない状態でございました。

そのため、「https」のアドレスへアクセスが行えない状態でございます。

「セキュリティ」>「独自SSL証明書導入」より
サブドメインについても、独自SSLの設定を行っていただき
その後、リダイレクトが行われるようになるかご確認くださいませ。

↑こちらの返信をいただきました。どうもwwwありについても独自SSLの設定が必要のようです。ちょっとびっくりしましたが、ロリポップではSSLしている場合はwwwありなし統一する際にはwwwありなしどちらについても独自SSLの設定をする必要があるみたいです。おそらくwwwありなしの統一は勝手にできていたと思います。

これって一般的なのでしょうか。私のほかで運営しているサイトではそうしないといけないサーバーはなかったのでこれはびっくりしました。(勉強不足ですいません。。)

結果、wwwありについても独自SSLの設定をすると無事リダイレクトできました。.htaccessの記述も不要です。では以下に設定方法をまとめておきます。

ロリポップでwwwありなし統一するときの設定方法

独自ドメイン設定の確認

まず管理画面内の「サーバーの管理・設定」の「独自ドメイン設定」でドメインの設定をします。(このページを見ている人はすでにここは設定済だと思います。)

管理画面内の「サーバーの管理・設定」の「独自ドメイン設定」

表示されたいURLはwwwなしなので、wwwなしのドメインが設定されています。

サブドメイン設定の確認

管理画面内の「サーバーの管理・設定」の「サブドメイン設定」でwwwありのドメインの設定をします。(このページを見ている人はすでにここは自動で設定済だと思います。)

管理画面内の「サーバーの管理・設定」の「サブドメイン設定」

設定がない場合は設定します。「公開(アップロード)フォルダ」はwwwなしと同じものを設定します。

独自SSLの設定

管理画面内の「セキュリティ」の「独自SSL証明書導入」で該当するドメインにチェックをし、「独自SSL(無料)を設定する」ボタンをクリックします。

管理画面内の「セキュリティ」の「独自SSL証明書導入」

クリックすると処理中と表示され数分程度で完了します。

↓設定した直後にwwwありにアクセスすると403の表示になります。まだ完了していない状態です。wwwなしでは問題なく表示されています。
設定直後は403

数分たって設定が完了するとリダイレクト設定も無事にできるようになります。私が設定したときは2、3分でした。.htaccessにwwwありなしの統一設定は不要です。

以上です。

追記:

WPのプラグインWordPress Related Postsを入れている場合、管理画面で設定後wwwありにアクセスしてもエラーコードが出てリダイレクトされない場合がありました。

その場合、管理画面から一旦該当するプラグインを停止してからwwwありにアクセスするとエラーは消え、無事リダイレクトされました。その後、プラグインを有効化するとエラーもでなくなりました。

プラグインでエラーコードがでた場合は、一旦プラグイン停止してみると解決できるかもしれません。

追記:

SSL化してもブラウザ(クローム)のアドレスバーに「このサイトへの接続は完全には保護されていません」と表示されている場合がありました。

その場合、そのページ内にhttpで記述されてる箇所が残っている状態でした。画像とかスクリプトなど読み込んでいるものが原因。

その場合の対処法としては「http://~」と記述されている箇所をhttp:を削除して「//~」に変更すると解決できます。