Comutarea instalației MultiSite de la HTTP la HTTPS

10 apr. 2012, 03:20:20
Vizualizări: 18.2K
Voturi: 11

Am instalat MultiSite cu URL-ul setat ca http://example.com, dar acum vreau să forțez toate cererile să meargă prin HTTPS, așa că încerc să schimb URL-ul în https://example.com. Am parcurs baza de date și am actualizat toate valorile siteurl și home să aibă https, dar site-ul încă se încarcă prin HTTP, în loc să fie redirecționat la HTTPS.

Știu că aș putea configura niște reguli htaccess, dar această metodă e predispusă la erori. În instalațiile obișnuite WordPress va redirecționa automat toate cererile către URL-urile canonice definite în setările siteurl și home, așa că presupun că MultiSite face la fel.

0
Toate răspunsurile la întrebare 3
3

Am întâmpinat aceeași problemă: în WordPress multisite, nu există nicio opțiune sau setare care să definească dacă un domeniu al site-ului este HTTP sau HTTPS. Chiar și după înlocuirea tuturor aparițiilor în baza de date, un vizitator al site-ului poate încă intra și naviga pe site în HTTP, fără a fi redirecționat către HTTPS.

Următoarea soluție simplă a funcționat pentru mine: am adăugat această regulă mod_rewrite în fișierul meu .htaccess, chiar înainte de regulile specifice de rescriere ale WordPress.

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

Deoarece această regulă nu definește un domeniu specific, este perfectă pentru nevoile WordPress multisite.

Am găsit această regulă în următorul subiect: https://stackoverflow.com/questions/4398951/force-ssl-https-using-htaccess-and-mod-rewrite

3 aug. 2016 13:14:09
Comentarii

Acest tip de soluție este excelent pentru un multisite cu protocol omogenizat. Odată ce dorești să ai un mix de site-uri SSL și non-SSL într-o rețea multisite, lucrurile devin complicate. Foarte complicate.

C C C C
9 dec. 2016 04:35:14

Într-adevăr, contextul meu a fost o rețea în care am trecut toate site-urile la SSL în același timp.

Manu Manu
10 dec. 2016 08:45:38

Punându-le înainte de regulile specifice WordPress a rezolvat problema pentru mine. Mulțumesc - această soluție mi-a luat ceva timp să o găsesc.

bastelflp bastelflp
5 mar. 2018 19:28:56
6

Există plugin-uri pentru a configura site-ul să folosească SSL. De ce să nu folosești unul dintre ele?

Și ai un certificat SSL instalat și activ?

10 apr. 2012 09:45:00
Comentarii

Toate plugin-urile pe care le-am văzut sunt pentru a seta anumite pagini să folosească HTTPS, nu întregul site. În instalările obișnuite de WordPress, metoda normală pentru a face întregul site să folosească HTTPS este să setezi valorile siteurl și home. Chiar dacă ar exista unele plugin-uri disponibile, există mai multe motive pentru care folosirea unui plugin este o idee proastă atunci când poți seta doar o valoare de configurare (securitate, performanță, etc.). De asemenea, sunt destul de sigur că nu contează dacă certificatul SSL este sau nu activat. WordPress nu va verifica acest lucru atunci când determină care este URL-ul canonic.

Ian Dunn Ian Dunn
10 apr. 2012 18:59:05

Adevărat și adevărat, doar mă întrebam dacă ai avut deja configurat sau nu (mulți oameni nu știu că ai nevoie de un certificat SSL dacă vrei cu adevărat să folosești SSL, de aceea întrebarea). Tocmai mi-am amintit că am avut un site al meu pe SSL acum ceva timp (nu doar anumite pagini, ci întregul site așa cum îl vrei tu). O să caut codul.

Hiranthi Hiranthi
18 apr. 2012 15:24:53

Hmm... nu am reușit să găsesc codul pe care l-am folosit atunci. Totuși, am găsit asta: http://prosauce.org/blog/2010/08/enable-complete-support-for-ssl-on-wordpress/

Hiranthi Hiranthi
18 apr. 2012 15:32:58

Am instalat Better WP Security dintr-un alt motiv, dar se pare că are o opțiune pentru a forța toate cererile de pagini (front-end și back-end) să meargă prin SSL.

Ian Dunn Ian Dunn
18 apr. 2012 17:54:29

Cea mai bună soluție ar fi cea care nu utilizează niciun plugin, după părerea mea. Astfel, fiecare cerere nu trebuie analizată de către plugin.

captainblack captainblack
21 feb. 2018 03:10:50

De asemenea, am un site WordPress multisite. Aș dori să întreb dacă există vreo metodă prin care putem schimba site-ul nostru de la HTTP la HTTPS fără a utiliza un plugin?

Jornes Jornes
17 apr. 2020 20:06:37
Arată celelalte 1 comentarii
1

Am modificat regulile specifice unui gazdă. Dar acum redirecționează toate celelalte bloguri către acesta. Am schimbat "%{HTTP_HOST}" la un domeniu specific și am păstrat partea "%{REQUEST_URI}".

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

În opinia mea, adăugarea de linii suplimentare RewriteRule pentru alte domenii ar putea rezolva problema, dar mă întreb dacă există o modalitate mai ușoară de a face acest lucru. Pentru că de fiecare dată când este creat un site de blog, trebuie să modificăm fișierul .htaccess???

Editare: Am rezolvat problema schimbând RewriteRule astfel:

RewriteRule http://gezentiyiz.biz%{REQUEST_URI} https://gezentiyiz.biz%{REQUEST_URI} [L,R=301]
30 mar. 2022 16:20:10
Comentarii

"Am schimbat %{HTTP_HOST} cu un domeniu specific" - Dar de ce? Sună mai degrabă ca o altă întrebare, decât ca un "răspuns"? Încercați să fiți selectiv și să redirecționați doar anumite site-uri către HTTPS?? "Am rezolvat problema schimbând RewriteRule astfel" - Doar că această regulă nu are sens și nu ar face nimic!? Pentru a face regula dependentă de numele gazdei, trebuie să verificați antetul HTTP Host solicitat (variabila server Apache HTTP_HOST) într-o condiție separată (directiva RewriteCond).

MrWhite MrWhite
20 apr. 2023 00:41:39