(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]