Blocat în afara Panoului de Administrare WordPress după activarea HTTPS forțat (SSL)
Mă aflu într-o situație foarte dificilă. Am fost blocat în afara Panoului de Administrare și soluțiile oferite de echipa plugin-ului în documentația lor nu funcționează. Am încercat ambele metode folosind Webmatrix. Trebuie să lansez site-ul vineri și nu știu ce să fac.
Iată ce au sugerat ei:
Cum pot reseta setările plugin-ului?
Mergeți la /wp-content/plugins/wordpress-https/wordpress-https.php
și decomentați (eliminați cele două bare oblice din față) linia de mai jos, sau mergeți la fișierul wp-config.php
și adăugați această linie. Accesați orice pagină a site-ului, apoi eliminați linia sau comentați-o din nou.
define('WPHTTPS_RESET', true);
Setările nu se salvează!
Ați resetat plugin-ul urmând pașii de mai sus și ați uitat să comentați linia înapoi sau să o eliminați din wp-config.php
?
În primul rând, redenumește folderul wp-content/plugins/wordpress-https
în wp-content/plugins/wordpress-https-OFF
astfel încât WordPress să nu îl poată găsi pentru a-l rula.
În al doilea rând, adaugă următoarele linii în fișierul tău wp-config.php, înlocuind numele de domeniu cu al tău:
define( 'WP_SITEURL', 'http://example.com/' );
define( 'WP_HOME', 'http://example.com/' );

Bună, trebuie ca WP_SITEURL
să aibă aceeași adresă IP ca WP_HOME
? Dacă setez ambele la adresa IP din rețeaua locală, pe internet încearcă să deschidă IP-ul cu 192 în loc de IP-ul meu public!

@ciasto-piekarz Ele pot fi diferite. WP_SITEURL
indică locul unde se găsește WordPress, în timp ce WP_HOME
reprezintă baza site-ului tău. Ar fi bine să le setezi ca nume de domeniu, nu ca adrese IP.

Am încercat toate soluțiile pentru resetarea plugin-ului, dar niciuna nu a funcționat. În final, am găsit soluția: eliminarea datelor corespunzătoare din baza de date.
Opțiunea dumneavoastră este să intrați în baza de date și să rulați următoarea interogare:
DELETE
FROM wp_options
WHERE option_name LIKE 'wordpress-https%'

În funcție de configurația site-ului tău și de browserul pe care îl folosești, remedierea acestei probleme poate necesita mai mult de un pas. Următoarele instrucțiuni ar trebui să rezolve multe dintre aceste tipuri de probleme.
Pasul 1: Dezactivează pluginul WordPress-HTTPS
Deoarece nu poți să te autentifici în panoul de administrare, va trebui să faci asta pe cale laterală. Cea mai simplă și directă metodă este să redenumești folderul pluginului.
- Folosind FTP, terminalul sau managerul de fișiere al furnizorului tău de hosting (de exemplu, cel disponibil prin cPanel), navighează la
wp-content\plugins\
- Redenumește folderul
wordpress-https
înwordpress-https1
Nu contează cu ce îl redenumești. WordPress știe doar că un plugin numit "WordPress-HTTPS" este activ și că este stocat într-un folder numit "wordpress-https". Prin redenumirea folderului, il ascundem de WordPress, astfel încât codul pluginului să nu mai fie executat.
O metodă mai elegantă și posibil mai sigură este să folosești WP-CLI. Acesta este o interfață de linie de comandă care îți permite să efectuezi majoritatea funcțiilor administrative WordPress din terminalul Linux/Unix. Dar nu toată lumea are acces la terminal (de exemplu prin SSH), și nu toți furnizorii de hosting au WP-CLI instalat. Dacă este instalat:
- Introdu comanda
wp plugin list
pentru a confirma că pluginul este prezent și activ - Introdu comanda
wp plugin deactivate wordpress-https
Pasul 2: Șterge toate cache-urile
Teoretic, WordPress-HTTPS este acum inactiv și nu ar mai trebui să cauzeze probleme la autentificare. Dar unele browsere și furnizori de hosting au cache-uri activate care ar putea să rețină redirecționarea care a avut loc anterior.
Pentru a te asigura că ai acces 100% curent la site:
- Dacă ai pluginuri de cache activate (de exemplu, W3 Total Cache), dezactivează-le. Unele pot fi dezactivate prin panoul de control al furnizorului de hosting (de exemplu, SuperCacher de la SiteGround), iar altele va trebui să le dezactivezi ca mai sus.
- Dacă furnizorul tău de hosting face caching în afara WordPress, dezactivează-l. Acest lucru se poate face de obicei prin panoul de control al furnizorului.
- Dacă ai o rețea de distribuție de conținut activată (de exemplu, CloudFlare), dezactivează-o.
- Șterge cache-ul și cookie-urile din browser.
- Închide și repornește browserul.
Pasul 3: Autentifică-te
Dacă totul a mers bine, acum ar trebui să te poți autentifica.
Pasul 4: Dacă încă nu funcționează, schimbă temporar site-ul pe http
Setările site-ului tău probabil specifică să folosească https pentru URL-urile site-ului și ale paginii de start. Dacă problema ta este doar din cauza setării "forțează admin", probabil că nu este o problemă. Dar ca ultim pas, poți încerca să dezactivezi acest lucru pentru întregul site.
Aceste setări de URL sunt definite în pagina Setări > General, la care nu poți accesa acum. Dar sunt stocate în tabela WordPress wp_options
. Le poți suprascrie în una din următoarele două moduri:
- Așa cum este descris în răspunsul lui webaware, definește câteva constante în wp-config.php, amintindu-ți să le ștergi odată ce ai terminat.
- Editează baza de date direct cu phpMyAdmin sau cu propriul tău cod PHP. Aceste două setări sunt "siteurl" și "home" și sunt primele din tabela wp_options. Schimbă-le să folosească
http
în loc dehttps
.
Pasul 4: Elimină setările care au cauzat blocarea
Sari peste acest pas dacă intenționezi să nu mai folosești WordPress HTTPS deloc. În acest caz, poți pur și simplu să ștergi folderul wordpress-https1
.
Dar este un instrument foarte util când SSL este activat, așa că s-ar putea să vrei să-l reactivezi odată ce te poți autentifica. Dacă faci asta acum, probabil vei avea din nou probleme la autentificare.
Trebuie să ștergem setările WordPress-HTTPS din tabela de opțiuni WordPress. Acest lucru este ca și cum l-ai instala de la zero. Există două moduri de a face asta.
Opțiunea 1: Șterge-le direct din baza de date
Toate setările sunt în baza ta de date WordPress, în tabela wp_options, și toate încep cu "wordpress-https". Ștergerea acestor rânduri din tabelă resetează WordPress-HTTPS. Ar trebui să fie sigur să-l reactivezi acum.
Opțiunea 2: Folosește flag-ul "reset" al pluginului
Așa cum ai descris în întrebarea ta, poți defini constanta WPHTTPS_RESET
. Data viitoare când WordPress HTTPS rulează, va vedea acest flag și va șterge setările sale. Este posibil ca acest lucru să nu fi funcționat pentru tine din cauza problemei de cache menționată mai sus.
