De nombreuses personnes veulent que WordPress s’exécute à partir de la racine de leur serveur et de leur nom de domaine (par exemple http://example.com
) mais ne veulent pas que les fichiers de WordPress soient installés à la racine de leur serveur. WordPress vous permet d’installer votre site dans un sous-répertoire tout en l’affichant à la racine de votre serveur/nom de domaine.
À partir de la version 3.5 de WordPress, les utilisatrices et utilisateurs de multisite peuvent utiliser les fonctionnalités listées ci-dessous. Si vous utilisez une version plus ancienne, il vous faudra la mettre à jour avant de faire quoi que ce soit.
Note aux développeuses et développeurs de thèmes et d’extensions : cela ne changera rien pour vous : vos thèmes et extensions seront toujours situés dans un dossier wp-content
de l’installation WordPress.
Déplacer une installation depuis la racine du serveur vers son propre répertoire
Partons du principe que votre site se situe sur example.com
. Vous avez deux méthodes pour déplacer WordPress dans un sous-répertoire :
1) Sans modifier le réglage de l’adresse du site (elle restera example.com
)
2) En modifiant l’adresse du site (elle sera maintenant example.com/subdirectory
)
Méthode 1 : sans changement d’URL du site
1) Après avoir installé WordPress dans le répertoire racine, déplacez l’ensemble des fichiers depuis la racine vers votre sous-répertoire.
2) Créez un fichier .htaccess
dans le répertoire racine, et mettez-y le contenu suivant (remplacez simplement example.com
par votre URL et sous_repertoire
par le nom de votre sous-répertoire) :
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} ^(www.)?example.com$ RewriteCond %{REQUEST_URI} !^/sous_repertoire/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /sous_repertoire/$1 RewriteCond %{HTTP_HOST} ^(www.)?example.com$ RewriteRule ^(/)?$ sous_repertoire/index.php [L] </IfModule>
C’est tout 🙂
Méthode 2 : avec changement d’URL
Processus de déplacement
Note : si vous avez déjà installé WordPress dans un sous-répertoire, certaines étapes ont déjà été faites automatiquement.
- Créez le nouvel emplacement où les fichiers WordPress seront stockés (nous utiliserons
/wordpress
dans nos exemples).
Spécifique : sur Linux, faitesmkdir wordpress
à partir de votre répertoirewww
. Vous souhaiterez probablement utiliserchown apache:apache
sur le répertoirewordpress
que vous venez de créer. - Allez sur l’écran des Réglages généraux.
- Dans l’option Adresse de WordPress (URL), mettez l’adresse de vos fichiers WordPress, par exemple :
http://example.com/wordpress
- Dans l’option Adresse du site (URL), mettez le répertoire racine de votre site, par exemple :
http://example.com
- Enregistrez les modifications. Ne vous inquiétez pas si une erreur s’affiche après avoir enregistré. Continuez le processus.
- Déplacez maintenant les fichiers de votre installation WordPress depuis la racine du serveur vers le sous-répertoire.
- Copiez (mais ne déplacez pas !) les fichiers
index.php
et.htaccess
depuis le répertoire de WordPress vers le répertoire racine de votre site (adresse du site). Le fichier.htaccess
est non visible, donc vous devrez peut-être paramétrer votre client FTP pour afficher les fichiers masqués. Si vous n’utilisez pas de permaliens personnalisés, alors vous n’avez peut-être pas de fichier.htaccess
à copier.
Spécifique : si vous faites tourner WordPress sur un serveur Windows (IIS) et que vous utilisez les permaliens personnalisés, vous devriez avoir un fichierweb.config
à la place d’un fichier.htaccess
dans le répertoire WordPress. Pour le fichierindex.php
, les instructions sont les mêmes mais pour le fichier.htaccess
vous devez déplacer (et pas copier) le fichierweb.config
sur votre répertoire racine. - Ouvrez le fichier
index.php
de votre répertoire racine dans un éditeur de texte. - Faites les changements suivants puis enregistrez le fichier :
Remplacez la lignerequire( dirname( __FILE__ ) . '/wp-blog-header.php' );
par la suivante (en remplaçant « wordpress » par le nom de votre répertoire) :require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' );
- Connectez-vous sur le nouvel emplacement de votre installation, qui devrait maintenant être
http://example.com/wordpress/wp-admin/
- Si vous aviez des permaliens personnalisés, allez dans l’écran de réglage des permaliens et mettez à jour la structure de vos permaliens (enregistrez simplement les modifications). WordPress mettra automatiquement à jour votre fichier
.htaccess
s’il dispose des droits d’écriture sur le serveur. Si WordPress ne peut pas écrire dans le fichier.htaccess
, vous devrez copier manuellement votre fichier.htaccess
(dans le même répertoire que le fichierindex.php
).
Modification du fichier .htaccess
Dans certains cas, il arrive que des personnes souhaitent installer des versions différentes dans des sous-répertoires (comme /2010, /2011, /dernier , etc.), et veulent que le site (par défaut) utilise une version spécifique. Dans ce cas, installez WordPress dans un sous-répertoire comme par exemple ici /sous_repertoire
et ajoutez la ligne suivante dans votre fichier .htaccess
(modifiez le nom du sous-répertoire et l’URL du site en fonction de votre contexte) :
RewriteEngine On RewriteCond %{HTTP_HOST} ^(www.)?example.com$ RewriteRule ^(/)?$ sous_repertoire[L]
Maintenant, lorsque les visiteurs arriveront à la racine de votre nom de domaine, il seront automatiquement redirigés dans le sous-répertoire que vous avez spécifié.
Déplacer les répertoires spécifiques de WordPress
Les liens suivants expliquent comment modifier certains répertoires spécifiques de WordPress :
- Déplacer le répertoire wp-content
- Déplacer le répertoire des extensions
- Déplacer le répertoire des thèmes
- Déplacer le dossier des téléversements
Traduit par Jb Audras
Relu par Sébastien Serre & Bruno Tritsch
Dernière mise à jour le 04 mai 2021
Contribuer à la documentation en français de WordPress
Journal des modifications
04 mai 2021– Jenny Dupuy – Modification d’ancres de liens non traduites