Umschalten der MultiSite-Installation von HTTP auf HTTPS

11

Ich habe MultiSite mit der URL http://example.com installiert , aber jetzt möchte ich alle Anforderungen dazu zwingen, über HTTPS zu gehen. Daher versuche ich, die URL in https://example.com zu ändern . Ich habe die Datenbank durchgesehen und alle siteurlund home-Werte auf https aktualisiert , aber die Site wird weiterhin über HTTP geladen, anstatt zu HTTPS umgeleitet zu werden.

Ich weiß, dass ich einige htaccess-Regeln einrichten könnte, aber das ist fehleranfällig. In regulären Installationen leitet WordPress alle Anforderungen automatisch an die in den Einstellungen siteurlund homeEinstellungen definierten kanonischen URLs weiter. Daher gehe ich davon aus, dass dies auch bei MultiSite der Fall ist.

Ian Dunn
quelle

Antworten:

2

Es gibt Plugins, um die Site auf SSL zu setzen. Warum nicht einen von ihnen benutzen?

Und Sie haben ein SSL-Zertifikat installiert und aktiv?

Hiranthi
quelle
Alle Plugins, die ich gesehen habe, sollen bestimmte Seiten für die Verwendung von HTTPS festlegen, nicht die gesamte Site. In regulären WP-Installationen besteht die normale Methode, mit der die gesamte Site HTTPS verwendet, darin, die Werte siteurlund homefestzulegen. Selbst wenn einige verfügbar wären, gibt es mehrere Gründe, warum die Verwendung eines Plugins eine schlechte Idee ist, wenn Sie nur einen Konfigurationswert festlegen können (Sicherheit, Leistung usw.). Außerdem bin ich ziemlich zuversichtlich, dass es keine Rolle spielt, ob das SSL-Zertifikat noch vorhanden ist oder nicht. WordPress wird dies nicht überprüfen, wenn es die kanonische URL ermittelt.
Ian Dunn
Richtig und wahr, ich habe mich nur gefragt, ob Sie es bereits eingerichtet haben oder nicht (viele Leute wissen nicht, dass Sie ein SSL-Zertifikat benötigen, wenn Sie wirklich SSL verwenden möchten, daher das Q). Ich habe mich gerade daran erinnert, dass ich vor einiger Zeit eine meiner Websites in SSL hatte (nicht nur bestimmte Seiten, sondern die gesamte Website, wie Sie es möchten). Ich werde den Code nachschlagen.
Hiranthi
Hmm .. konnte den Code, den ich damals verwendet habe, nicht finden. Allerdings habe ich dies gefunden: prosauce.org/blog/2010/08/…
Hiranthi
Ich habe Better WP Security aus einem anderen Grund installiert , aber es stellt sich heraus, dass es eine Option gibt, alle Seitenanforderungen (vorne und hinten) über SSL zu erzwingen.
Ian Dunn
Die beste Lösung wäre die, die meiner Meinung nach kein Plugin verwendet. Auf diese Weise muss nicht jede Anfrage vom Plugin analysiert werden.
Captainblack
3

Ich bin auf dasselbe Problem gestoßen: Bei WordPress Multisite gibt es keine Option oder Einstellung, die definiert, ob eine Site-Domäne HTTP oder HTTPS ist. Auch nach dem Ersetzen aller Vorkommen in der Datenbank kann ein Site-Besucher die Site in HTTP eingeben und navigieren, ohne zu HTTPS umgeleitet zu werden.

Die folgende einfache Lösung hat für mich funktioniert: Ich habe diese mod_rewriteRegel zu meiner .htaccess-Datei hinzugefügt , kurz bevor die WordPress-spezifischen Regeln zum Umschreiben verwendet wurden.

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Da diese Regel keine bestimmte Domain definiert, ist sie perfekt für die Anforderungen von WordPress Multisite.

Ich habe diese Regel im folgenden Thread gefunden: /programming/4398951/force-ssl-https-using-htaccess-and-mod-rewrite

Manu
quelle
Diese Art von Lösung eignet sich hervorragend für eine Multisite, die protokollhomogenisiert ist. Sobald Sie eine Mischung aus SSL- und Nicht-SSL-Sites in einem Netzwerk mit mehreren Standorten wünschen, werden die Dinge kompliziert. Sehr kompliziert.
CC
In der Tat war mein Kontext ein Netzwerk, in dem ich alle Standorte gleichzeitig auf SSL umstellte.
Manu
Das Setzen vor den WordPress-spezifischen Regeln löste es für mich. Danke - ich habe eine Weile gebraucht, um diese Lösung zu finden.
Bastelflp