Під час переміщення WP-сайту, чому wp-admin перенаправляє на старий сайт?


16

Я перебуваю в процесі переміщення WP-сайту з одного хоста на інший. Я скопіював базу даних та всі файли, створив нову базу даних та імпортував стару. Потім я змінив файл wp-config. Домашня сторінка показує чудово, але коли я намагаюся отримати доступ / wp-admin, це повертає мене на старий сайт.

Новий сайт - це сервер розробників, на якому я планую вносити зміни до стилю, перш ніж брати сайт наживо.

Що мені не вистачає в цьому переході? Як змусити сайт правильно реагувати на URL-адресу розробника?

Відповіді:


22

Якщо це одна установка WordPress, є кілька записів бази даних зі старим доменом. Зокрема, siteurlі homeвсередині wp_options.

При цьому, якщо URL-адреса розробника тимчасова, ви також можете встановити наступні дві константи в wp-config.php:

define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']);
define('WP_SITEURL', WP_HOME . '/');

За умови, що WordPress встановлений у корені вашого веб-сайту.


Вам також потрібно буде оновити guidкожен wp_postsдля будь-яких вкладень, використовуючи щось на кшталтUPDATE wp_posts SET guid = REPLACE('<old_url>','<new_url>', guid)
Cyclonecode

2
GUID не слід змінювати. Детальніше тут: codex.wordpress.org/Changing_The_Site_URL#Important_GUID_Note
Nighthawk

4

Це не велика проблема. Ваша база даних містить усі попередні посилання, які неможливо автоматично перетворити. Для цього є два типи рішень:

  1. В wp-config.phpдодати цей код:

    define ('WP_HOME', 'http: //'. $ _SERVER ['SERVER_NAME']);
    визначити ('WP_SITEURL', WP_HOME. '/');
  2. Змініть наступний SQL, замінивши "oldurl" на попереднє посилання та "newurl" на поточне посилання:

UPDATE wp_posts SET guid = replace(guid, 'oldurl','newUrl'); 

UPDATE wp_posts SET post_content = replace(post_content, 'oldurl', 'newUrl'); 

UPDATE wp_links SET link_url = replace(link_url, 'oldurl', 'newUrl'); 

UPDATE wp_links SET link_image = replace(link_image, 'oldurl', 'newUrl'); 

UPDATE wp_postmeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl'); 

UPDATE wp_usermeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl'); 

UPDATE wp_options SET option_value = replace(option_value, 'oldurl', 'newUrl') WHERE option_name = 'home' OR option_name = 'siteurl';

Запустіть ці запити SQL у вашій базі даних, змінивши префікс, якщо у вас щось інше, ніж wp_.


2

Просто зміна URL-адреси веб-сайту в налаштуваннях, швидше за все, не оновить усі внутрішні організації, щоб створити робочий веб-сайт для розробників (якщо тільки сайт не має голих кісток). У вас виникнуть проблеми з не відображенням серіалізованих даних та посиланнями в публікаціях, що вказують на старий сайт.

Було б розумніше використовувати інструмент міграції, такий як Backup Buddy або Duplicator, щоб створити повну копію сайту, яку можна повторно розгорнути в новому місці з новою URL-адресою. Для цього у вас залишатимуться робочі посилання в межах публікацій, будь-які спеціальні посилання на меню тощо. Використання одного з них також спростить запуск змін. Просто запакуйте все це та перевстановіть на свій виробничий сайт, коли закінчите.

Якщо ви не хочете витрачати час на завантаження / завантаження всього заново, ви можете просто перемістити базу даних, використовуючи щось на зразок WP Migrate DB. Встановіть його на свій виробничий сайт, експортуйте базу даних з новою URL-адресою та імпортуйте перенесену базу даних у свій розробник через phpMyAdmin або подібне. Будь-які жорстко закодовані посилання у вашій темі все одно потребуватимуть оновлення, а ваш .htaccess потрібно буде оновити, якщо ви встановлюєте в підпапку.

Змініть рядок RewriteBase на:

RewriteBase /yourfolder/

І рядок, який перенаправляє ваш index.php до:

RewriteRule . /yourfolder/index.php [L]

0

Ви повинні змінити адресу сайту (URL) та адресу WordPress (URI) через панель адміністратора, перш ніж перенести сайт на іншу URL-адресу.

У вашому випадку ви не можете зробити це на реальному сайті, тому ви можете спробувати такий інструмент, як Пошук та заміна баз даних, щоб змінити URL-адресу з бази даних розробників.

Ви також можете посилатися на Moving WordPress


0
  1. phpMyAdmin: перейдіть до wp_optionsнабору таблиць homeurlі siteurlяк новий URL
  2. Увійдіть на wp-adminінформаційну панель, перейдіть, щоб setting->general змінити адресу WordPress (URL) та адресу сайту (URL)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.