#php #wordpress
#php #wordpress
Вопрос:
Я пытался создать фиктивный дубликат пользовательского сайта WP / WooCommerce на том же сервере.
Я успешно переместил файлы в поддомен, создал временную копию базы данных и обновил файл wp_config, но я ни за что на свете не могу понять, как установить значение ABSPATH для отражения поддомена вместо основного (не тестового) домена. Итак, теперь, когда вы входите на фиктивный сайт WP, он входит в панель управления WP ОСНОВНОГО сайта.
** Итак, мой вопрос в том, как мне изменить значение ABSPATH для фиктивного сайта и будет ли это также обновлять фиктивные URL-адреса, чтобы указывать на URL-адреса сайта?
Основной URL-адрес сайта ldtuttle.com и фиктивный сайт — это dev.tuttle.com .
Заранее спасибо за ваше время, Лиза
Комментарии:
1. Вам не нужно изменять
ABSPATH
. Вам нужно заменить URL-адреса основного сайтаhttp://mainsite.com
на фиктивный новый поддоменhttp://subdomain.dummy.com
. Или вы можете жестко запрограммировать URL-адреса вwp-config.php
файле, добавивdefine( 'WP_SITEURL', 'http://subdomain.dummy.com/wordpress' ); define( 'WP_HOME', 'http://subdomain.dummy.com/wordpress' );
for now.
Ответ №1:
В таблице базы данных ‘wp_options’ вам нужно изменить два значения: ‘siteurl’ и ‘home’.
Это сообщит WordPress, куда перенаправить пользователя для экрана входа в систему, и обычно заполняется автоматически, когда WordPress изначально создает базу данных в домене.
Комментарии:
1. @RahilWazir по моему опыту, это так … в противном случае WordPress будет перенаправлять на сайт / wp-admin старого домена для каждой страницы, как описано в OP.
Ответ №2:
Вам нужно обновить не только ‘wp_options’
Также создайте отдельную базу данных для — «фиктивного дубликата» — скопируйте исходную базу данных там, а затем обновите эти таблицы базы данных:
UPDATE wp_options SET option_value = REPLACE(option_value, 'ORIGINAL_URL', 'NEW_URL');
UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'ORIGINAL_URL', 'NEW_URL');
UPDATE wp_posts SET guid = REPLACE(guid, 'ORIGINAL_URL', 'NEW_URL');
UPDATE wp_posts SET post_content = REPLACE(post_content, 'ORIGINAL_URL', 'NEW_URL');
Несколько хороших статей:
http://www.wpbeginner.com/wp-tutorials/how-to-create-staging-environment-for-a-wordpress-site/
И:
https://codex.wordpress.org/Moving_WordPress
Смотрите Заголовок: Перемещение каталогов на вашем существующем сервере
Комментарии:
1. «Как сломать вашу установку WordPress с помощью 4 простых запросов». Это не учитывает сериализованные данные, которые будут повреждены, если ваш новый домен не будет точно такой же длины, как ваш старый. Единственный надежный метод, который работает должным образом в текущих версиях PHP, — это поиск и замена wp-cli .
2. Приятный снисходительный и покровительственный грубый ответ #Walf. Не нужно, чтобы WordPress выполнял поиск и замену для нас … я думаю, мы справимся
Ответ №3:
Я просто хочу добавить одну вещь, связанную с комментарием @kreeverp: вы должны быть осторожны при замене значения GUID, как объясняется в Кодексе WordPress. Если вы переходите ОТ локальной разработки К развертыванию, тогда безопасно изменить их на URL развертывания. Но если вы переходите с одного URL-адреса на другой, оба из которых будут развернуты (например, переход с site.com чтобы site.org ) тогда вы НЕ хотите заменять значение GUID.
(Я бы оставил это в качестве комментария к @kreeverp, но я пока не могу этого сделать!)