WordPress 4.4 Multisite – Php 7 – Htaccess – Ovh sous répertoire avec publication a la racine et permaliens

wordpress-multisite-graphic-500pxInstallation et Configuration

La configuration n’a pas l’air comme ça très complexe et probablement que lors d’une fresh install ca se passe facilement. Mais dès lors que l’on a des plugins, des personnalisations de fichier de conf et des ajouts maison, c’est un peu plus compliqué. Tout se fait bien entendu, et WordPress 4.4 sous Php 7, chez Ovh (sans module préinstallé bien sur) en installation multisite, protégé par htaccess et avec des permaliens personnalisés sous la forme /%category%/%postname%-%post_id%/ c’est la panacée (ou presque). Il a fallu batailler un moment, c’est pour ça que je vous livre toute la procédure aujourd’hui pour éviter de galérer si vous avez les mêmes problèmes que moi. Rien de grave, et franchement sur le net c’est bien documenté on trouve ce qu’il faut sur le codex WordPress pour avancer dans le debugging.

Attention je ne vous explique pas comment faire l’installation de WP (on balance sur le ftp et on suit les écrans d’install) qui est par ailleurs très bien documenté sur le site officiel ou un peu partout sur le net. Nous partons donc du principe que l’installation de WP fonctionne et se trouve dans un répertoire de votre espace d’hébergement web, en général chez OVH www/

Pour l’exemple nous l’appellerons “blog” et de facto il se trouve donc dans votre ftp ici : /www/blog/  avec une arborescence connue wp-admin/ wp-includes/ et wp-content/

Pour débuter, rendez vous sur votre espace client Ovh pour activer le php 7 dans la section Hébergement (cf capture ci dessous). Bien entendu, vous cliquez sur modifier la conf, php 7, vous attendez quelques minutes et hop c’est réglé.

 

Activation du PHP 7 :

Activation PHP 7

 

Activation du Multisite WordPress :

Il faut éditer le fichier wp-config.php et ajouter ceci :

 /**
 * Langue de localisation de WordPress, par défaut en Anglais.
 *
 * Modifiez cette valeur pour localiser WordPress. Un fichier MO correspondant
 * au langage choisi doit être installé dans le dossier wp-content/languages.
 * Par exemple, pour mettre en place une traduction française, mettez le fichier
 * fr_FR.mo dans wp-content/languages, et réglez l'option ci-dessous à "fr_FR".
 */
 define ('WPLANG', 'fr_FR');
 define ('WP_ALLOW_MULTISITE', 'true');
 define('MULTISITE', true);
 define('SUBDOMAIN_INSTALL', false);
 $base = '/';
 define('DOMAIN_CURRENT_SITE', 'www.votre site.com');
 define('PATH_CURRENT_SITE', '/');
 define('SITE_ID_CURRENT_SITE', 1);
 define('BLOG_ID_CURRENT_SITE', 1);
 define( 'AUTH_SALT', 'une clef generee');
 define( 'SECURE_AUTH_SALT', 'une clef generee' );
 define( 'LOGGED_IN_SALT', 'une clef generee' );
 define( 'NONCE_SALT', 'une clef generee');

 /* C'est tout, ne touchez pas à ce qui suit ! Bon blogging ! */

 

 

HTACCESS :

Vos fichiers htaccess doivent être configurés de la manière suivante :

Celui du répertoire /www/blog/

On suit les liens symboliques, on empêche l’affichage du répertoire, on fait suivre les règles et les conditions vers le répertoire de notre blog pour tout ce qui a attrait aux requêtes php.

Options +FollowSymLinks
Options -Indexes

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

# END WordPress

 

Et le deuxième fichier d’emplacement /www/

On peut éventuellement commenter la ligne #uploaded files, en fonction de votre installation et de votre configuration.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

#uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) wp/$1 [L]
RewriteRule ^(.*\.php)$ wp/$1 [L]
RewriteRule . index.php [L]
</IfModule>
# END WORDPRESS

 

Configuration WordPress :

Pour fignoler votre installation multisite de WordPress, rendez vous dans votre menu admin WP, Section Réglages, puis Permalien et cocher “Structure Personnalisée” et enfin inscrivez ceci /blog/%category%/%postname%-%post_id%

N’hésitez pas a installer plusieurs navigateurs, et penser a vider les caches lors de vos modifs. Penser bien sur a la sauvegarde mysql, et ftp pour les fichiers ou les dossiers que vous allez modifier. Le backup c’est le bien ! 🙂

Happy coding ! Bonne lecture.

multisite wordpress