web-dev-qa-db-fra.com

Déplacer Wordpress dans un sous-répertoire, conserver TOUTES les URL

J'ai actuellement un site Web sur site.com et WordPress est installé dans le dossier racine de ce site. Mon site Web comprend des pages telles que:

  • site.com
  • site.com/page
  • site.com/2015/10/01/post ....
  • site.com/login
  • site.com/wp-content/uploads/...

Je souhaite déplacer tous les fichiers WordPress dans un seul sous-répertoire pour des raisons de sécurité et NE CHANGEZ AUCUNE URL adressée publiquement. D'autres articles ici et le fil d'assistance officiel parlent de "Donner à WordPress son propre répertoire" mais nécessitent de changer d'URL:

S'il vous plaît aviser si cela est possible.

2
William Entriken

La procédure est complètement documentée dans le Codex sous Déplacement d’une installation racine dans son propre répertoire .

Vous comprenez mal l'importance de changer d'URL, et oui, la terminologie est nulle. Il n'y a que les URL qui vont changer sont celles qui sont basées sur "l'adresse de WP". Ce serait le noyau de WordPress, essentiellement la zone d'administration.

Toutes les URL de contenu sont basées sur "Adresse du site", en suivant cette procédure, qui sera toujours la racine de votre site.

Puisque vous souhaitez conserver les téléchargements en place, vous pouvez le faire en conservant wp-content à la racine (en le séparant du dossier principal) et en ajustant la configuration pour cela. Voir Déplacement du dossier wp-content .

5
Rarst

Ok, voici comment cela se fait:

  1. Déplacez wp-*, index.php, .htaccess dans votre nouveau dossier wordpress
  2. Éditer wordpress/.htaccess:

    • Trouvez cette ligne: RewriteRule . /index.php [L]
    • Faites-le: RewriteRule . /wordpress/index.php [L]
  3. Créez un nouveau fichier dans /path/to/www appelé .htaccess puis ajoutez ceci:

RewriteEngine on
RewriteRule ^$ https://www.example.com/ [L]

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^/wordpress/index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wordpress/$1 [L]
</IfModule>
1
William Entriken

Méthode de déplacement des fichiers Wordpress dans un autre dossier (répertoire) sans modifier la configuration de Wordpress, c’est-à-dire totalement transparente pour Wordpress:

  1. créer un répertoire dans lequel l'installation de Wordpress sera déplacée, par exemple. "sitedir"
  2. déplacez l'installation WP, y compris .htaccess, dans ce répertoire nouvellement créé
  3. éditez le fichier .htaccess dans le répertoire racine www (probablement public_html) et insérez les positions suivantes:
 RewriteEngine On 
 RewriteBase /[.____._rev
 # Redirect to ./sitedir/
 RewriteCond% {http_Host} ^ exemple\.com $ 
 RewriteCond% {request_uri}! ^/Sitedir (/.*)$
 RewriteRule ^ (. *) $/Sitedir/$ 1 [L, QSA] 
 
 # Extra , redirigez www.exemple.com vers exemple.com 
 RewriteCond% {http_Host} ^ www\.exemple\.com [NC] 
 RewriteRule ^ (. *) http://example.com/1 $ [R = 301, L] 

Remplacez "exemple.com" par votre domaine et "sitedir" par le nom du dossier dans lequel WP sera placé.

0
Paul Oranje