WordPress redirecționează greșit către adresa IP locală?
Am configurat serverul WordPress pe Raspberry Pi folosind PHP, MySQL și Apache. Am un nume de gazdă DNS dinamic și am configurat setările de redirecționare a porturilor pe router.
Când încerc să accesez serverul din afara rețelei locale (de exemplu de pe telefon prin rețea 4G sau de la școală), site-ul se redirecționează greșit către adresa IP locală a serverului: 192.168.0.18, astfel încât pagina nu se încarcă.
Este foarte ciudat pentru că am și OwnCloud configurat pe același Pi și în aceleași condiții, când accesez mydynamicdnshost/owncloud, nu mă redirecționează către IP-ul local și pagina se încarcă cu succes.
Știu că aceasta este o problemă de bază cu configurația WordPress dar pur și simplu nu o pot rezolva. Dacă știe cineva soluția, vă rog să-mi răspundeți. Mulțumesc mult!
Schimbă URL-ul site-ului în tabelul de opțiuni.
UPDATE `wp_options` SET `option_value` = 'YOUR_SITE_URL' WHERE `option_name` = 'siteurl' OR `option_name` = 'home';
De asemenea, schimbă URL-urile statice din conținutul postărilor.
UPDATE `wp_posts` SET `post_content` = REPLACE(post_content, '192.168.0.18/YOUR_LOCAL_SITE_URL/', 'YOUR_SITE_URL/');
Nu uita să schimbi prefixul tabelei dacă nu este 'wp_'.
Editare : Accesează PHPMyAdmin de pe serverul tău. Contactează furnizorul de hosting dacă nu ești familiarizat cu acest lucru.
Selectează baza de date WordPress și accesează tabelul wp_options. Apoi schimbă valorile atributelor 'siteurl' și 'home' în URL-ul live al site-ului tău.
Angajează un developer dacă nu ești sigur ce faci!

Îmi pare rău, poți să-mi spui te rog în care fișier se găsesc acele configurații? Sunt complet începător în acest domeniu. Am încercat să le găsesc în wp-config.php, etc dar nu le-am găsit în niciunul.

Aceste setări sunt expuse și pe pagina Settings / General, sub denumirile WordPress Address (URL) și Site Address (URL). Această pagină Codex oferă mai multe informații. Dar nu sunt sigur că răspunsul va funcționa; cred că trebuie să actualizezi aceste setări cu hostname-ul dinamic pe care îl folosești, nu cu adresa locală.

@GaborBarat Sunt de acord, abordarea prezentată pe această pagină codex este mai bună decât soluția mea. Dar dacă nu este implementată corect, va modifica URL-urile site-ului și homepage-ului în tabela de opțiuni la fiecare solicitare.

Inspirat de răspunsul lui @jitendra-rana, direcția era corectă, dar nu completă.
- Realizează un dump al bazei de date într-un fișier.
- Deschide fișierul dump și înlocuiește toate
http://192.168.0.18
cuhttp://siteul_tau
- Execută fișierul dump pentru a înlocui toate datele din baza de date.
- Șterge cache-ul (reîncărcare forțată) al siteului tău.
Profit.

În general, modificarea înregistrărilor WP_SITEURL și WP_HOME în tabela wp_option nu este suficientă pentru a face întregul site web disponibil. Este necesar să schimbați toate linkurile, inclusiv linkurile imaginilor, linkurile JS și CSS, tagurile A și, în general, orice link care apare în HTML.
Am creat un plugin și l-am pus în depozitul WordPress, care publică un site web creat pe un server web local precum Xampp/Wampp pe rețea. Prin setarea propriului IP Local în setările pluginului, WordPress-ul tău va fi publicat în general pe rețea.
