Перенос сайта wordpress с wamp-сервера на mamp-сервер

Я работал над сайтом Wordpress локально на ПК с использованием WAMP, но теперь начал работать на Mac, поэтому я использую MAMP в качестве сервера разработки.

Я экспортировал свою базу данных с исходного сайта, создал новую базу данных в phpmyadmin на своем Mac и импортировал исходную базу данных. Я также скопировал все файлы в папку в htdocs на своем Mac и изменил файл wp-config, чтобы он соответствовал новым настройкам.

Однако, когда я захожу на сайт в браузере, я продолжаю получать эту ошибку «Ой! Google Chrome не удалось подключиться к локальному хосту».

Я дважды проверил свой файл wp-config, и все настройки, такие как имя БД, пользователь, пароль и хост, верны.

Однако я заметил одну вещь: когда я печатаю в браузере:

  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
Так и думал, спасибо за вашу помощь, это ценится! :-D - person Daz; 16.02.2014