Lors du déplacement d'un site WP, pourquoi wp-admin redirige-t-il l'ancien site?

12

Je suis en train de déplacer un site WP d'un hôte à un autre. J'ai copié la base de données et tous les fichiers, créé une nouvelle base de données et importé l'ancien. J'ai ensuite changé le fichier wp-config. La page d'accueil est correcte, mais lorsque j'essaie d'accéder à / wp-admin, cela me ramène à l'ancien site.

Le nouveau site est un serveur de développement sur lequel je prévois d'apporter des modifications de style avant de mettre le site en direct.

Qu'est-ce qui me manque dans cette transition? Comment faire en sorte que le site réponde correctement à l'URL de dev?

    
posée fmz 23.07.2014 - 00:55

5 réponses

18

S'il s'agit d'une seule installation WordPress, il existe plusieurs entrées de base de données avec votre ancien domaine. Plus précisément, siteurl et home au sein de wp_options .

Cela dit, si l'URL dev est temporaire, vous pouvez également définir les deux constantes suivantes dans wp-config.php :

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

À condition que WordPress soit installé à la racine de votre site Web.

    
réponse donnée NightHawk 23.07.2014 - 01:02
3

Ce n’est pas un gros problème. Votre base de données contient tous les liens précédents qui ne peuvent pas être convertis automatiquement. Il existe deux types de solutions pour cela:

  1. Dans wp-config.php ajoutez ce code:

    define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']);
    define('WP_SITEURL', WP_HOME . '/');
  2. Modifiez le code SQL suivant en remplaçant "oldurl" par le lien précédent et "newurl" par le lien actuel:

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';

Exécutez ces requêtes SQL dans votre base de données, en modifiant le préfixe si vous avez autre chose que wp_ .

    
réponse donnée Aakash Bhagat 27.03.2018 - 18:33
1

Le simple changement de l'URL du site dans la configuration ne mettra probablement pas à jour tous les éléments internes afin de créer un site de développement actif pour vous (à moins que le site ne soit vraiment dépouillé). Vous aurez des problèmes avec les données sérialisées qui ne s'affichent pas et les liens dans les publications pointant vers l'ancien site.

Il serait plus judicieux d’utiliser un outil de migration tel que Copain de sauvegarde ou Duplicateur pour créer une copie complète du site qui peut être redéployée à un nouvel emplacement avec une nouvelle URL. Ce faisant, vous aurez toujours des liens de travail dans les messages, des liens de menu personnalisés, etc. L'utilisation de l'un d'eux facilitera également le lancement de vos modifications. Emballez le tout et redéployez-le sur votre site de production lorsque vous avez terminé.

Si vous ne voulez pas perdre votre temps à tout télécharger / tout transférer à nouveau, vous pouvez simplement migrer la base de données en utilisant quelque chose comme WP Migrate DB. Installez-le sur votre site de production, exportez une base de données avec la nouvelle URL et importez la base de données migrée sur votre développeur via phpMyAdmin ou similaire. Tous les liens codés en dur dans votre thème devront toujours être mis à jour et votre fichier .htaccess devra être mis à jour si vous effectuez l'installation dans un sous-dossier.

Modifiez la ligne RewriteBase en:

RewriteBase /yourfolder/

Et la ligne qui redirige vers votre index.php vers:

RewriteRule . /yourfolder/index.php [L]
    
réponse donnée Sean Michaud 27.03.2018 - 18:03
0

Vous devez modifier l'adresse du site (URL) et l'adresse WordPress (URI) via le panneau d'administration avant de déplacer le site vers une autre URL.

Dans votre cas, vous ne pouvez pas le faire sur un site actif, vous pouvez donc utiliser un outil tel que Rechercher et remplacer les bases de données pour modifier l’URL de la base de données du site dev.

Vous pouvez également faire référence à Déplacement de WordPress

.     
réponse donnée Laxmana 23.07.2014 - 01:03
0
  1. phpMyAdmin: allez à wp_options le tableau définissant homeurl et siteurl en tant que nouvelle URL
  2. Connectez-vous à wp-admin du tableau de bord passez à setting->general changer l'adresse WordPress (URL) et l'adresse du site (URL)
réponse donnée user8724101 27.03.2018 - 16:08

Lire d'autres questions sur les étiquettes