2013-07-30 3 views
3

Я разрабатываю портал на Wordpress и имею много плагинов, сообщений, категорий и т. Д. На месте. Теперь я хотел попробовать три темы параллельно.Локальный клон Wordpress не работает должным образом

Итак, я создал еще две копии папки в корневой директории моего локального сервера Apache как:

/wpSandbox/ [original, working still !] 
/wpSandbox2/ [copy 1] 
/wpSandbox3/ [copy 2] 

Точно так же я реплицировать базу данных dbWordpress для исходного портала с помощью PhpMyAdmin дважды, а затем изменил соответственно в в.ч.-конфигурации .php

Теперь две новые копии (которые я ожидал быть базой для тестирования новых тем) не могут войти в админ.

В самом деле,

127.0.0.1/wpSandbox2/wp-admin/ 

фактически перенаправляет:

127.0.0.1/wpSandbox/wp-admin/ 

и не могут войти, используя те же учетные данные, которые работают на оригинальной копии ... :(

Пожалуйста скажите мне, почему это может произойти, что-то еще необходимо изменить в wp-config для копий ..?

С уважением

+1

Перейдите в свой интерфейс управления базой данных, и для ваших настроек wpSandbox2 измените URL-адреса, чтобы отразить это, поскольку вы скопировали базу данных, поскольку она по-прежнему ссылается на wpSandbox/ –

+1

. Привет, вам нужно изменить сайт и home в 'wp_options 'в вашей базе данных, созданной для другой 2 копии вашего wp, –

ответ

1

Проблема с перенаправлением из-за siteurl в ваших исходных настройках wordpress. Добавьте эти строки в себя wp-config.php. Возможно, вам придется изменить URL-адрес, чтобы удовлетворить ваши потребности.

define('WP_HOME','http://127.0.0.1/wpSandbox2'); 
define('WP_SITEURL','http://127.0.0.1/wpSandbox2'); 
+0

Спасибо большое ... работал как шарм ..! :) –

3

Скорее всего, вам нужно обновить базу данных новым URL-адресом. Вот почему это перенаправление. Скопируйте приведенный ниже код и запустите его в phpMyAdmin (убедитесь, что вы изменили 3 переменные вверху ... Я установил их в соответствии с тем, что, по моему мнению, вам следует установить, но это может быть иначе, как настроена ваша база данных)

SET @prefix = "wp_"; 
SET @old = "127.0.0.1/wpSandbox"; 
SET @new = "127.0.0.1/wpSandbox2"; 

SET @sql1 = CONCAT('UPDATE ', @prefix, 'options SET option_value = REPLACE(option_value,?,?)'); 
SET @sql2 = CONCAT('UPDATE ', @prefix, 'posts SET guid = REPLACE(guid,?,?)'); 
SET @sql3 = CONCAT('UPDATE ', @prefix, 'posts SET post_content = REPLACE(post_content,?,?)'); 

PREPARE update1 FROM @sql1; 
PREPARE update2 FROM @sql2; 
PREPARE update3 FROM @sql3; 

EXECUTE update1 USING @old, @new; 
EXECUTE update2 USING @old, @new; 
EXECUTE update3 USING @old, @new; 

DEALLOCATE PREPARE update1; 
DEALLOCATE PREPARE update2; 
DEALLOCATE PREPARE update3; 

Gist: https://gist.github.com/doitlikejustin/6091841

Просто немного информации об этом коде/Gist ... Я двигаюсь WordPress сайты все время. Это всего лишь некоторый SQL, который я написал, так что обновление базы данных занимает меньше времени, и вам не нужно беспокоиться о ручном обновлении URL-адресов. Он автоматически обновляет таблицу параметров WP и таблицу сообщений WP.

+0

Спасибо за ответ. Просто настройка WP_HOME и WP_SITEURL сделала трюк ... точно не знаю, почему :( –

0

обновление as_options набор OPTION_VALUE = "{new_wp_url}", где имя_опции = 'SITEURL'; update as_options set option_value = "{new_wp_url}" где option_name = 'home'; UPDATE as_posts SET GUID = REPLACE (Guid, '{old_url}', '{NEW_URL}') UPDATE as_posts SET POST_CONTENT = REPLACE (POST_CONTENT, '{old_url}', '{NEW_URL}')

Ниже SQL-запрос, который вы можете запустить, чтобы изменить значения на новый URL-адрес для сайтов wordpress.

UPDATE {wp_table_prefix}_options set option_value="{new_url}" where option_name='siteurl'; 
UPDATE {wp_table_prefix}_options set option_value="{new_url}" where option_name='home'; 
UPDATE {wp_table_prefix}_posts SET guid = REPLACE(guid, '{old_url}', '{new_url}'); 
UPDATE {wp_table_prefix}_posts SET post_content = REPLACE(post_content, '{old_url}', '{new_url}'); 
  • Заменить {wp_table_prefix} с префиксом WordPress таблицы.
  • Заменить {{new_url}} с вашим новым URL-адресом сайта wordpress.
  • Заменить {{old_url}} с вашим старым url сайта wordpress. В этом случае 127.0.0.1/wpSandbox

После этого вы можете запустить SQL-запрос и получить доступ к новому сайту Wordpress на новый URL-адрес wordpress. И все должно работать нормально.

Я использую выше SQL часто и работал для меня до сих пор. Если у вас возникли проблемы, сообщите нам об этом. В основном вышеуказанные SQL-запросы эквивалентны приведенному выше коду @doitlikejustin.

Смежные вопросы