Carnet Wiki

Mettre à disposition un sous-répertoire “non-SPIP” dans un SPIP mutualisé

Version 2 — 2 months ago spipfactory.fr

But:

Dans le cadre d’une mutualisation en sous-domaines / domaines différents, l’idée est de pouvoir offrir la possibilité aux utilisateurs d’avoir un (ou plusieurs) répertoires pour des fichiers “non-SPIP” (par exemple des fichiers html statiques récupérés d’un ancien site).

Dans un SPIP non-mutualisé, la manipulation est extrêment simple: dans le dossier d’installation du SPIP on crée un sous-répertoire toto qui devient immédiatement accessible avec l’url http://mon-spip.tld/toto .

Dans le cadre de la mutualisation, les choses sont beaucoup plus complexes... un répertoire /toto placé dans le dossier du site mutu ne fonctionnera pas automatiquement puisque l’url http://mon-spip.tld/toto appellera le répertoire /toto à la racine du site primaire et non pas du SPIP mutu...

Howto:

Il est donc nécessaire d’ajouter une réécriture d’URL (RewriteRule) dans le .htaccess à la racine du SPIP primaire. Exemple pour un répertoire toto:

################ REGLAGES PERSONNALISES ######################
# Inscrivez ci-dessous vos reglages supplementaires


#utiliser un rep /static pour partie statiques du site incluse dans le SPIP
RewriteCond     /chemin/vers/spip/mutu/sites/%{HTTP_HOST}/toto -d
RewriteCond     %{HTTP_HOST} (.*)
RewriteRule     ^toto(.*) /chemin/vers/spip/mutu/sites/%1/toto$1  [QSA,L]


-  La première ligne fait le test (à l’aide d’une RewriteCond) que le répertoire toto existe
-  la deuxième n’est là que pour disposer du nom du virtualhost dans un paramètre %1 dans la ligne suvante
-  la troisième ligne contient la rêgle de réécriture en elle-même: tout appel à un fichier ou dossier avec une url de la forme http://mon-spip.tld/toto/qqchose renverra vers le dossier /toto/ du mutualisé.

----

Posté sur la liste
mis a disposition pour mémoire ...

j’ai donc un répertoire toto a la racine avec un index qui dit (coucou la racine )

et un répertoire toto dans sites/spipfactory.fr/ avec un index qui dit (coucou le répertoire toto de spipfactory)

j’ai modifié mon .htaccess a la racine avec

<blockquote class="spip">
#utiliser un rep /static pour partie statiques du site incluse dans le SPIP
 RewriteCond /home/clients/b313813ae3dfa81e21eb5a95d7ad323f/web/sites/spipfactory.fr/%{HTTP_HOST}/toto -d
 RewriteCond     %{HTTP_HOST} (.*)
 RewriteRule     ^toto(.*) /home/clients/b313813ae3dfa81e21eb5a95d7ad323f/web/sites/spipfactory.fr/%1/toto$1 [QSA,L]
</blockquote>

et bien j’arrive toujours sur le repertoire toto de la racine en appelant https://spipfactory.fr/toto/

Je me demande si on peu vraiment, enfin chez nous ça fonctionne pas.

Retour à la version courante

Toutes les versions