CG
(@du-bist-der-lenz)
マルチサイトのSSL化について
「設定」タブの中にある「SiteURL」「HOME」というそれぞれの項目を、「http」→「https」に変えてあげてください。
返信有難うございます。
>「設定」タブの中にある「SiteURL」「HOME」
これはWordPress内の話でしょうか?
「設定」タブの中には「SiteURL」「HOME」が見当たりませんでした。
どちらの話でしたでしょうか?
素人ですいません。
CG
(@du-bist-der-lenz)
7年間は充分な時間があったでしょう。さて、2年前にも試みられたと思いますが。
こんにちは
私はよくDatabase Search and Replace Script in PHPを使ってURLを書き換えていますが、マルチサイトのテーブルも対象に含まれますので、マルチサイトでもこれだけでSSL化できると思います。
もちろん事前に証明書がインストールされてHTTPSでアクセスできる状態になっている必要がりますが。
SiteurlやHomeを書き換える必要もありません。
どのような作業をされるにせよ、データベースのバックアップを取ってから作業することをお勧めします。
CGさん
そうですね。なかなか着手できずにいました。
munyaguさん
Database Search and Replace Script in PHP・・・なるほど。こんな手があるんですね・・・。
>SiteurlやHomeを書き換える必要もありません。
これは驚きです。ありがとうございます。
調べてみます!!
CG
(@du-bist-der-lenz)
ドメインがhttpsでアクセスできていれば、リダイレクトをさせるだけです。
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
着手しないで済んできたということは、必要とされていないということですよ。
@du-bist-der-lenz
リダイレクトだけで対応すると、Webサーバーがレスポンスを返す回数が単純に2倍になりますので、データベースの値を書き換えた方が良いです。
ちょうど昨日私も同じことをしていました。(サブドメイン型です)
これはサーバの設定や環境によっても状況が変わってくるものではないかと思います。
参考までに、私の環境での流れを書いておきます。(失敗や「できなかったこと」も含めて参考として書いておきます)
1.念の為WordPressの環境がまるごとバックアップできるプラグインでバックアップをとっておく(All-in-One WP Migration Multisite Extension 等)
2.WordPressの「一般設定」でURLを書き換えようとしたが、設定項目が見当たらない
→とりあえず[参加サイト]->[サイトネットワーク管理]->[サイト]-> sub.example.com の[編集] からSiteurl と Home を変更。親サイトは変更できないのでそのまま。
3.【失敗】Database Search and Replace Script in PHPを使用してhttp://example.com と http://sub.example.com をそれぞれ https://~~ に変更→リダイレクトループ発生
4.バックアップから復旧し、「2.」までを実施
5.Really Simple SSLをインストールしてSSL化を試みる→リダイレクトループ発生
6.再度「2.」の状態まで戻したあと、wp-config.php に強制的に HTTPSにする「おなじない」を書く
(適切な語句でググるとその紹介ページが検索にヒットします)
7.Really Simple SSL を有効化 → すべてのサイトでSSL化成功
なお、Really Simple SSL を使う前にサーバ(Nginx)に http でのアクセスを https に飛ばす設定を書いたところ、リダイレクトループが発生。
こんな流れだったと思います。
本当は自分のブログにでも書けばよいのですが、「同じタイミングで同じことをして悩んでいる人がいたとは」と思いコメントさせていただきました。
冒頭にも書きましたが、「この設定で絶対に良くなる」わけではなくトラブルには様々な要因が絡んでいることがあります。あくまでも参考程度にしてください。
【訂正】
私の「SSL化成功」という表現が少しおかしかったので。
「成功する前」の状態を
「httpでアクセスできる状態のものをhttpsでアクセスしてみたらアクセスできた」というイメージで考えてください。
みなさん色々とありがとうございます。
自分に出来そうなところをピックアップして、できる限りやってみたいと思います。
ありがとうございました。
頑張ってみてください。
関係ないコメントで恐縮ですが、私がリダイレクトループを頻発させていた理由の1つに Nginx の設定の http://backend が絡んでいそうだなと。
ただそれに気づいたのが先の設定を終えて一応動く状態にたあとだったので、気が向いたときに設定見直してみようかな…。