Mutualisation : un SPIP pour plusieurs sites

(ceci est un message automatique)

Message posté par yffic <yffic@lefourneau.com> à la suite de l'article
« Mutualisation : un SPIP pour plusieurs sites ».

http://www.spip.net/ecrire/?exec=articles&id_article=3811#id173886

** Mutualisation : un SPIP pour plusieurs sites

* Peut on rajouter un paragraphe :

Et si SPIP est dans un sous répertoire ?

Dans ce cas là, SPIP est appelé par http://example.org/spip/, les sites
mutualisés par http://example.org/spip/premier_site/ ou
http://example.org/spip/deuxieme_site/.

Il faut alors mettre dans le .htaccess (qui doit alors se trouver dans le
dossier spip et non plus à la racine) :

RewriteEngine On

RewriteBase /spip/

#Mutualisation

RewriteRule ^(premier_site|deuxieme_site)$ /spip/$1/ [R,L]

RewriteRule ^(premier_site|deuxieme_site)/(.*) /spip/$2 [QSA,L]

Et dans mes_options.php, modifier le premier test :

$rep_install="spip/" ;

if ( preg_match(',^/'.$rep_install.'([\.a-zA-Z0-9_-]+)/,',
$_SERVER['REQUEST_URI'], $r) AND !is_dir(_DIR_RACINE . $r[1]))

$site = $r[1] ;

else

$site = $_SERVER['HTTP_HOST'] ;

Variante : si on veut appeler SPIP par http://example.org/spip/, mais les
sites mutualisés par http://example.org/premier_site/ ou
http://example.org/deuxieme_site/ afin de cacher le noyau, il suffit de
modifier le fichier .htaccess et de le déplacer à la racine :

RewriteEngine on

RewriteBase /

#Mutualisation

RewriteRule ^(premier_site|deuxieme_site)$ /$1/ [R,L]

RewriteRule ^(premier_site|deuxieme_site)/(.*) /spip/$2 [QSA,L]