Podmiana adresów URL w bazie danych.

Tak jak po przewiezieniu rzeczy do nowego domu, tak przy przenosinach strony trzeba zmienić w dokumentach adres zamieszkania. W rzeczywistości jest to między innymi dowód osobisty, dla serwera jest to baza danych. Bez aktualizacji adresu URL z starego miejsca (localhost – offline) na nowy (serwer www – online) nie będziemy mogli w pełni (nawet w ogóle) korzystać z naszej strony. Remedia na tę bolączkę zamieściłem w dzisiejszym wpisie. Nic prostszego. O czym przekonacie się nie bawem.

Przed rozpoczęciem procesu podmiany upewnijcie się, że macie kopię oryginału bazy danych. Najlepiej skompresować do formatu zip, rar, 7zip itp. W ten sposób uchronicie się przed przypadkowym nadpisaniem podczas prac, a w chwili potrzeby wypakowujecie świeży plik.

CO chcemy uzyskać? :

zamiana adresu instalacji offline „http://localhost/”
na adres domeny np „http://twojadomena.pl”

Jak tego dokonać? Oto 7 sposobów:

1. Grzebanie w bazie danych.

  • Logujemy się do panelu administracyjnego domeny. W miejscu odpowiednim bazom danych, odnajdujemy coś w stylu „phpMyAdmin” pozwalające edytować wybraną bazę danych.
  • Przechodzimy do zakładki STRUCTURE. Tam odnajdujemy tabelę OPTIONS (Rys,1)
    • Odnajdujemy i edytujemy pozycję SITEURL. Zamiast starego adresu „http://localhost/” wpisujemy ”http://twojadomena.pl/
    • Odnajdujemy i edytujemy pozycję HOME. Może to być w drugiej grupie tabel. Należy przewinąć strzałkami Zamiast starego „http://localhost/” wstawiamy ”http://twojadomena.pl/
  • Wylogowujemy się z phpMyAdmin. Przechodzimy na naszą stronę i odświerzamy cache naszej przeglądarki za pomocą kombinacji klawiszy SHIFT + F5

Na wszystkie zapytania o potwierdzenie zmiany klikamy na TAK/OK. W większości wypadków (proste serwisy www) ta metoda załatwia sprawę jeżeli chodzi o strukturę strony. Może się to nie powieść w przypadku wstawienia w treści tekstu bezpośrednich odnośników np „http://localhost/mojastrona/kwiatek.jpg

phpmyadmin_structore_588x412
Rys.1 Miejsce edycji

2. Użycie wtyczki

Osobiście sprawdziłem dwie. Better Search Replace oraz Velvet Blues Update URLs.
Ich zadanie polegało na wyłapaniu miejsc, gdzie sposób 1 nie wykrył/zamienił adresów. Sposób użycia sprowadza się do tego samego: wprowadzić adresy i rozpocząć zamianę.
Velvet Blues Update URLs posiada więcej opcji do zaznaczenia, można określić gdzie dokładnie ma być dokonany proces w treści.

Velvet Blues Update
Rys.2 Velvet Blues Update

Natomiast w Better Search Replace można określić które tabele bazy danych mają być przeszukane. Ponadto posiada możliwość przeszukania bazy danych bez zamiany tzw DRY RUN !! Jest to wielce przydatna funkcja.

 Better search Replace
Rys.3 Better search Replace

3. Edycja pliku wp-config.php

Gdzieś w treści lub na końcu kodu wstawiamy dwie linijki:

define(‘WP_HOME’,’http://twojadomena.pl’);
define(‘WP_SITEURL’,’twojadomena.pl’);

Ma to mniej więcej za zadanie wykonać operację z sposobu 1. Wystarczy zalogować i wylogować się na stronę parę razy. Te linijki nie powinne pozostać tam na stałe. Po dniu użytkowania można wykasować i robota zrobiona.

4. Edycja pliku functions.php

Na początku pliku wstaw kod:

update_option(‘siteurl’,’http://twojadomena.pl);
update_option(‘home’,’http://twojadomena.pl’);

Troszkę poserwujcie po stronie i powinno zadziałać. Rekordy powinne zostać nadpisane. Pamiętać trzeba o wykasowaniu tych linijek po pewnym krótkim czasie.

5. Komendy wykonane bezpośrednio na bazie danych (poziom zaawansowany)

Poniższe polecenia wykonujemy pojedyńczo. Zwrócie uwagę na operator “wp_” by był zgodny z waszą instalacją. Na internecie jest pełno tłumaczeń znaczenia tych linijek:

UPDATE wp_options SET option_value = replace(option_value, ‘http://localhost’, ‘http://www.twojadomena.pl’) WHERE option_name = ‘home’ OR option_name = ‘siteurl’;
UPDATE wp_posts SET guid = replace(guid, ‘http://localhost’,’http://www.twojadomena.pl’);
UPDATE wp_posts SET post_content = replace(post_content, ‘http://localhost’, ‘http://www.twojadomena.pl’);
UPDATE wp_postmeta SET meta_value = replace(meta_value, ‘http://localhost’, ‘http://twojadomena.pl’);

ps. Obecnie można wpisywać adresy bez przedrostka “www” . Nie stanowi to już problemu.

6. Edycja pliku .htaccess (poziom zaawansowany)

Nie każdy edytor teksu potrafi poprawnie skompilować ten plik. Z Notepad++ powinno się dać radę, zwykły notatnik odpada a tym bardziej MS Word

Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^localhost [NC]
RewriteRule ^(.*)$ http://twojadomena.pl/$1 [L,R=301]

7. Użycie skryptu (jako ciekawostka)

Nie będę się tutaj rozpisywał.Udajcie się na tą stronę i postępujcie według wskazówek.

To by było na tyle.  Zamieściłem wszystko na co natknąłem się w internecie. Za każdym razem polecam ostrożność. Przed działaniem poczytajcie inne wpisy o wybranym sposobie. Bądźcie świadomi co robicie.

Pozdrawiam

Sebastian Filipkowski

Leave a Reply

Your email address will not be published. Required fields are marked *