Копия существующего сайта WordPress возвращает 302 в Docker Windows - PullRequest
0 голосов
/ 01 февраля 2019

Я нуб WP, но должен исправить некоторые ошибки на существующем wp-сайте.Я не хочу делать это в реальной среде, поэтому я пытаюсь отразить это в докере (apache, php, mysql ... все с аналогичными версиями, как в реальной среде).

  • Я скопировал весь php с их ftp
  • перенесенных данных mysql

Когда я захожу на этот локальный сайт, я получаю перенаправление 302 на действующий сайт

В началеиз wp-config.php я добавил

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

Но все так же.Любые идеи?


Вот полный wp-config.php, как это было задано в комментариях

<?php
/** changing the site url (https://codex.wordpress.org/Changing_The_Site_URL) */
define( 'WP_HOME', 'http://localhost:8180' );
define( 'WP_SITEURL', 'http://localhost:8180' );

define('AUTOMATIC_UPDATER_DISABLED',true);
define('DB_NAME', 'replaced');
define('DB_USER', 'replaced');
define('DB_PASSWORD', 'replaced');
define('DB_HOST', 'db:3306');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
define('AUTH_KEY',         'replaced');
define('SECURE_AUTH_KEY',  'replaced');
define('LOGGED_IN_KEY',    'replaced');
define('NONCE_KEY',        'replaced');
define('AUTH_SALT',        'replaced');
define('SECURE_AUTH_SALT', 'replaced');
define('LOGGED_IN_SALT',   'replaced');
define('NONCE_SALT',       'replaced');
$table_prefix  = 'wp_';
define('WPLANG', 'de_DE');
define('WP_DEBUG', true);

if ( !defined('ABSPATH') )  define('ABSPATH', dirname(__FILE__) . '/');
/** Sets up WordPress vars and included files. */
require_once(ABSPATH . 'wp-settings.php');
/* fixes safe_mode problems */
define('WP_TEMP_DIR', ABSPATH . 'wp-content/');

Обновление

Я следовал за работающим кодом, используя xdebug.Редирект перешел на действующий сайт из-за записи в базе данных (таблица опций) _transient_pll_languages_list.Он кешировал URL на сайт в реальном времени.Как это называется переходный процесс, я просто удалил его.Теперь у меня все еще есть перенаправление (теперь 301), но на мой локальный сайт.Так что теперь у меня есть петля обратной связи.

Я думаю, я буду искать и удалять все «временные» записи дальше. Есть ли более простой способ удалить все кэшированные данные из БД?

Ответы [ 3 ]

0 голосов
/ 24 февраля 2019

У меня было то же самое требование для разработки существующего сайта WordPress локально, поэтому я создал этот репозиторий: https://github.com/lumonald/existing-wordpress-development-docker

Вы можете отключить любые плагины кэширования в файле .env, и этоавтоматически находит / заменяет URL в базе данных для вас.

Он позаботится о wp-config.php в фоновом режиме, однако, если вам нужно отредактировать это, вы можете добавить его в качестве тома в контейнер WordPress в пределах docker-compose.yml

Помнитездесь используется последняя версия WordPress, но ее можно изменить в файле docker-compose.yml, как и версию MySQL, если это необходимо.

0 голосов
/ 25 февраля 2019

Я не знаю точно, в чем проблема, но после деактивации плагина SEO проблема ушла.Сайт все еще работал после того, как плагин SEO был снова активирован.Так что это была какая-то проблема с кешем плагинов.

0 голосов
/ 01 февраля 2019

Я не использовал Docker, но, по-моему, в следующем коде отсутствует имя папки.

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

Это должно быть что-то вроде

define( 'WP_HOME', 'http://localhost:8180/foldername/' );
define( 'WP_SITEURL', 'http://localhost:8180/foldername/' );

В противном случае вы можете напрямую изменить URL в таблице wp_options, изменить siteurl и home на свой фактический URL.Также попробуйте очистить папку кеша или отключить плагин кеша, если он существует.

Надеюсь, это решит вашу проблему.

С уважением

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...