web-dev-qa-db-fra.com

Méthode d'arrière-plan pour changer le domaine de base wordpress afin d'empêcher la redirection

Mon ami est venu me voir aujourd'hui pour me dire qu'il souhaite que son wordpress site soit transféré d'exemple.com à exemple2.com.

J'ai un accès complet au même serveur qui gère ces deux URL. J'ai copié l'intégralité du contenu des fichiers et des dossiers qui s'appliquent à exemple.com puis à exemple2.com, de sorte que les deux domaines soient dupliqués à 100%.

Lorsque j'ai essayé d'accéder à tout sur exemple.com, tout fonctionne. Cependant, lorsque j'ai essayé d'accéder aux pages wordpress sur example2.com, je suis redirigé vers example.com, mais le reste de l'URL est identique.

J'ai vérifié .htaccess dans example2.com ainsi que les fichiers du serveur httpd.conf et rien ne montre aucun signe de redirection. Cependant, lorsque j'ai modifié un fichier PHP (il n'a donc qu'à imprimer un mot au lieu de charger tout le matériel wordpress], il n'y a pas de redirections et le mot est affiché. Donc, cela me suggère que quelque chose dans wordpress provoque les redirections.

J'ai suggéré à mon ami de se connecter à wordpress et d'entrer une section de paramètres pour changer le domaine de base du site, exemple.com, en exemple2.com, mais je crois qu'il ne sait pas comment procéder.

Une autre possibilité est que je trouve une sorte de fichier de configuration ou une entrée de base de données qui pointe vers le domaine ou un paramètre par rapport à celui-ci?

En dernier recours, je pouvais supprimer tout le travail que mon ami mettait sur son site wordpress et effectuer une nouvelle réinstallation, mais je ne pense pas qu'il l'apprécierait.

Alors, quel serait le meilleur plan d'action? et si je modifie les paramètres, quels champs de base de données ou quels fichiers dois-je modifier pour que tout ce qui est lié à wordpress et demandé sur exemple2.com ne soit pas redirigé vers la même ressource que exemple.com?

1
Mike

La réponse de Stephen's Ostermiller ♦ est correcte, mais vous pouvez parfois rencontrer des problèmes même lors de la mise à jour de l'adresse du site. Cela est dû au fait que les plugins ne mettent pas toujours à jour leurs chemins lors du changement d'adresse du site. ce qui signifie que vous devez parcourir le code SQL et apporter d'autres modifications.

Personnellement, j'utilise phpMyAdmin pour exporter la base de données de l'ancien domaine, puis j'utilise 'notepad' pour ouvrir la base de données et effectuer une recherche et un remplacement sur https://example-old.com en https://example-new.com/.

Vous devez également rechercher et remplacer les chemins de systèmes de fichiers locaux. Par exemple, vous devez modifier toutes les entrées de la base de données de /home/example-old.com/public_html/ à /home/example-new.com/public_html/, mais notez que vos chemins peuvent être différents, certains hébergeurs hébergent public_html dans /var/ certains utilisent/httpdocs/à la place de/public_html /, etc. Une réponse détaillée liée ci-dessous qui devrait aider.

SOURCE

Sauf si vous utilisez un plug-in de référencement qui contrôle les URL SEF, il n'y a que plusieurs façons de rediriger WordPress: SQL, .HTACCESS et WP-CONFIG.PHP

WP-CONFIG

Contrairement aux versions plus anciennes de Joomla et d'autres systèmes de gestion de contenu, WordPress ne définit pas par défaut le chemin de l'URL, sauf si vous modifiez ce fichier et modifiez le chemin défini. La définition intacte ressemble à:

if ( !defined('ABSPATH') )
  define('ABSPATH', dirname(__FILE__) . '/');

HTACCESS

WordPress par défaut ne contrôle pas le chemin d'installation à l'aide du fichier htaccess, un htaccess par défaut devrait ressembler exactement à ceci:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

SQL

WordPress par défaut lors de l'installation ajoutera deux entrées dans votre base de données SQL:

  • wp-options
    • nom_option: siteurl valeur_option: http://www.example.com
    • nom_option: home valeur_option: http://www.example.com

Vous ne devriez pas avoir besoin de modifier directement la base de données, car WordPress vous permet de modifier le site et le chemin principal directement dans votre WordPress.

  • Naviguez jusqu'à http://www.example.com/wordpress/wp-login.php
  • Connectez-vous au tableau de bord d'administration
  • Cliquez sur Paramètres
  • Cliquez sur Général
  • Changer WordPress Adresse (URL)
  • Changer l'adresse du site (URL)
  • Cliquez sur Enregistrer

Vos paramètres devraient ressembler à ceci:

WordPress General Settings

Si pour une raison quelconque vous ne pouvez pas vous connecter, utilisez phpMyAdmin pour changer les valeurs en dehors de l'environnement WordPress.

2
Simon Hayter

La configuration de WordPress a une "URL de site" qu'elle utilise pour rediriger d'autres domaines vers le domaine principal. Vous avez juste besoin de changer l'URL du site.

Pour ce faire, le moyen le plus simple consiste à pointer les deux domaines sur le même hôte virtuel. Ensuite, au lieu de copier le code et le contenu du site, il vous suffit de visiter /wp-admin et de modifier l’URL sous Paramètres -> Général à deux endroits. "Adresse WordPress" et "Adresse du site":

WordPress Site URL

Une fois le site copié, vous devez plutôt modifier ces paramètres dans un fichier de configuration. Vous ne pouvez pas accéder à wp-admin sur le site copié car vous en êtes redirigé. Voici documentation WordPress pour changer l'URL du site . Editez le fichier wp-config.php et ajoutez deux lignes:

define('WP_HOME','http://example2.com');
define('WP_SITEURL','http://example2.com');
1
Stephen Ostermiller