SSLやwwwあり・なしの統一などの設定できないとき
原因はいろいろとあると思います。
今回、私がハマってしまった原因を書いておきます。
同じような状況になってる方は参考にしてみてください。
独自SSLとドメインのwwwあり・なしを統一を同時に設定
一般的な設定方法として、ドメイン直下に設置された[.htaccess]の一番上に
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.net/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www\.example\.net
RewriteRule ^(.*) http://example.net/$1 [R=301,L]
を追加しました。
「http://example.net/」や「http://www.example.net/」「https://www.example.net/」にアクセスしたときには「https://example.net/」に転送されています。
これでwwwなしに統一し、内部や外部のURLをすべて見直し、常時SSL化終了と思っていたのですが、
配下のディレクトリに作成しているサイトにアクセスするとSSL化はできているのですが、WWWありでアクセスすると404エラーが発生しました。
htmlの記載ミスとか、余分なスペースなどがないかとか色々と調べてみたのですが解決できず、ダメなループにハマってしまっていました。
ネットでいろんな情報を検索している中で、あっ。。。 「コレかも?」という内容を見つけることができました。
ブラウザの再読み込みではキャッシュが使われる場合がほとんど
キャッシュとは、過去に表示したWebページの表示を高速化するため情報を一時的に保存しておく仕組みです。
通常、1度表示したWebページをWebサーバーの内容を更新したあとに再度表示したときには、このキャッシュが利用されてしまうのでWebサーバの更新内容が反映されてない場合もあります。
これを解消するために、Webページの再読み込みを行うのですが、通常の再読み込みではWebサーバーの更新内容は表示されない場合が多いのです。
Chromeには3種類の「再読み込み」がある
「Google Chrome」の再読み込みには「通常の再読み込み」「ハード再読み込み」「キャッシュの消去とハード再読み込み」の3種類があります。
■通常の再読み込み
ツールバーにある[このページを再読込します]ボタンをクリックする
一番使用頻度が高いと思いますが、この方法では更新された画像などが古いまま残ってしまうことがあります。
■ハード再読み込み
次のショートカットキーで実行されます。
[Shift]+[Ctrl]+[R]キーまたは[Shift]+[F5]キー
Webページの画像や各種ファイルをキャッシュを使わず再読み込みをします。
2次的なもの(Webページで実行されるJavaScriptから動的に読み込まれるファイルなど)
にはキャッシュが利用されてしまいます。
■キャッシュの消去とハード再読み込み
[F12]キーまたは
「Google Chromeの設定ボタン」をクリックし、「その他のツール(L)」⇒「デベロッパーツール」をクリックしデベロッパーツールを起動
起動したデベロッパーツールの画面で通常の再読み込みを長押し、現れたメニューの「キャッシュの消去とハード再読み込み」をクリックすると、 キャッシュが消去されてからハード再読み込みが実行されます。(その他のWebページのキャッシュもすべて消去されます。)
キャッシュがすべて消去されると、これまで利用していた他のWebページを開くときに(少なくとも1回目)表示速度が遅くなります。
できればキャッシュを消去したくないという場合、
今回のように確認を行うためだけであれば「キャッシュの利用を禁止する」という設定があります。
キャッシュの利用を禁止する方法
キャッシュの利用を禁止するには、デベロッパーツールを起動します。
起動したデベロッパーツールの画面で[Network]タブを選択し、その下のバーに表示される[Disable cache]のチェックボックスにチェックを入れます。
この設定をするとキャッシュは利用されなくなるので、「通常の再読み込み」でもWebサーバからファイルやデータが読み込まれるようになります。
ただし、この機能はデベロッパーツールを閉じると無効になるので注意しましょう。
最終的に「キャッシュの利用を禁止する方法」で確認したところ、すべてのディレクトリで常時SSL化できていることが確認できました。
ちょっとした不注意でたくさんの時間ロスをしてしまいました。
でも、気づかせてくれたサイトには感謝しています。