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


16

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'ancienne. J'ai ensuite changé le fichier wp-config. La page d'accueil s'affiche bien, 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 où je prévois d'apporter des changements de style avant de mettre le site en ligne.

Qu'est-ce qui me manque dans cette transition? Comment obtenir que le site réponde correctement à l'URL de développement?

Réponses:


22

S'il s'agit d'une seule installation WordPress, il y a quelques entrées de base de données avec votre ancien domaine. Plus précisément, siteurlet à l' homeintérieur wp_options.

Cela dit, si l'URL de développement 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.


Vous devrez également mettre à jour le guidpour chacun wp_postsen cas de UPDATE wp_posts SET guid = REPLACE('<old_url>','<new_url>', guid)
pièces jointes

2
Le GUID ne doit pas être modifié. Pour en savoir plus, cliquez ici: codex.wordpress.org/Changing_The_Site_URL#Important_GUID_Note
NightHawk

4

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. En wp-config.phpajouter 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 changeant le préfixe si vous avez quelque chose de différent de wp_.


2

Changer simplement l'URL du site dans la configuration ne mettra probablement pas à jour tous les éléments internes pour créer un site de développement fonctionnel pour vous (sauf si le site est assez simple). Vous aurez des problèmes avec les données sérialisées ne s'affichant pas et les liens dans les publications pointant vers l'ancien site.

Il serait plus intelligent d'utiliser un outil de migration comme Backup Buddy ou Duplicator pour créer une copie complète du site qui peut être redéployée à un nouvel emplacement avec une nouvelle URL. En faisant cela, vous aurez toujours des liens de travail dans les publications, tous les liens de menu personnalisés, etc. L'utilisation de l'un d'eux facilitera également le lancement de vos modifications. Il vous suffit de tout emballer et de le redéployer sur votre site de production lorsque vous avez terminé.

Si vous ne voulez pas passer le temps à tout télécharger / télécharger à 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 vers 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 .htaccess devra être mis à jour si vous installez 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]

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 en ligne, vous pouvez donc essayer un outil comme Rechercher et remplacer des bases de données pour modifier l'URL à partir de la base de données du site de développement.

Vous pouvez également référencer Moving WordPress


0
  1. phpMyAdmin: accédez à l' wp_optionsensemble de tables homeurlet en siteurltant que nouvelle URL
  2. Connectez-vous à votre wp-admintableau de bord allez setting->general changer l'adresse WordPress (URL) et l'adresse du site (URL)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.