Преместване на сайт на wordpress от сървър wamp към сървър на mapp

Работя върху сайт на Wordpress локално на компютър, използвайки WAMP, но сега започнах да работя на Mac, така че използвам MAMP като мой сървър за разработка.

Експортирах моята база данни от оригиналния сайт и създадох нова база данни в phpmyadmin на моя Mac и импортирах оригиналната база данни. Също така копирах всички файлове в папка в htdocs на моя Mac и промених моя wp-config файл, за да съответства на новите настройки.

Въпреки това, когато отида да видя сайта в браузъра, продължавам да получавам тази грешка „Ами сега! Google Chrome не можа да се свърже с localhost“.

Проверих два пъти моя wp-config файл и всички настройки като DB име, потребител, парола и хост са правилни.

Едно нещо, което обаче забелязах, беше, че когато пиша в браузъра:

  http://localhost:8888/mysite the URL gets changed to 
http://localhost/mysite - Im not sure if this is part of the problem or not...

Ако някой има някакви идеи как да се реши проблема, ще бъдем много благодарни!


person Daz    schedule 16.02.2014    source източник


Отговори (1)


Да, това е проблемът. Wordpress съхранява URL адреса на сайта в базата данни, така че трябва да го редактирате, ако домейнът се промени, в противен случай той просто ще пренасочи към стария URL адрес. Или влезте във вашата база данни с помощта на phpmyadmin и променете siteurl и homewp_options) на вашия нов URL адрес, или използвайте следните опции за конфигурация в wp_config.php

define('WP_HOME','http://localhost:8888/mysite');
define('WP_SITEURL','http://localhost:8888/mysite');

Можете също така да влезете в настройките на MAMP и да промените порта на apache от 8888 на 80, по този начин няма да се налага да указвате порт, когато разработвате локално.

Ако има връзки/изображения в съдържанието, ще трябва също да промените тези връзки в базата данни от стария URL към новия (защото wordpress препраща всичко абсолютно); вероятно има много налични добавки за това, но можете просто да използвате проста замяна:

# wordpress fully change domain name:
UPDATE wp_posts SET post_content = REPLACE(post_content,'old','new');
UPDATE wp_posts SET guid = REPLACE(guid,'old','new');
UPDATE wp_options SET option_value = 'new' WHERE option_name = 'siteurl' OR option_name = 'home';
person Christian    schedule 16.02.2014
comment
Също така, в зависимост от това какви елементи сте създали на сайта на wordpress, може също да се наложи да промените URL адресите в базата данни, напр. абсолютни изображения и връзки към други ресурси. - person djthoms; 16.02.2014
comment
@djthoms да, ако има съдържание там, всичко трябва да се промени. Актуализирах публикацията си с малък скрипт, който може да се стартира в базата данни, за да промени всички препратки към стария домейн. - person Christian; 16.02.2014
comment
Благодаря ти!! Това реши проблема, който имах :-) - person Daz; 16.02.2014
comment
Когато стигна до качването на сайта в интернет, ще трябва ли да направя същите промени отново? - person Daz; 16.02.2014
comment
Да, защото когато го качите на сървър в интернет, домейнът няма да бъде localhost/mysite ;). Ще трябва да промените домейна, като използвате горния скрипт, на какъвто и да е новият домейн. - person Christian; 16.02.2014
comment
Така си помислих, благодаря за помощта, оценявам я! :-Д - person Daz; 16.02.2014