[Résolu]faire pointer certains fichiers vers un autre domain

WRInaute passionné
Bonjour

j'ai fait une gestion multisite pour des sites internet basés sur un CMS (joomla).

L'un de ces sites est celui qui contient tous les fichiers (du CMS).
L'autre contient uniquement 6 fichiers correspondant à la gestion multisite.

Comment faire pour que tous les fichiers hormis ces 6 pointent vers le répertoire où se trouve tous les fichiers ?

Concrètement je me trouve dans /public_html
et le site multisite se trouve dans base/
le second site se trouve dans monsite/

Je souhaite faire quelque chose comme cela dans .htacces du répertoire monsite/:
Code:
RewriteCond %{REQUEST_FILENAME} !^/+(index.php|index2.php|index3.php|config.php|configuration.php)$
RewriteRule ^(.*) ../base/$1  [L]

ou bien dans le répertoire /public_html

Code:
RewriteCond %{HTTP_HOST} ^www.monsite.com$
RewriteCond %{REQUEST_FILENAME} !^/+(index.php|index2.php|index3.php|config.php|configuration.php)$
RewriteRule ^(.*) base/$1  [L]

mais cela ne marche pas.
J'ai pourtant écrit :
"pour tous les fichiers hors ceux listés dans cette ligne, aller dans le répertoire de base".

Dans mes logs, les fichiers ne sont pas catchés par ce rewrite.

Une petite aide svp ?
 
WRInaute accro
tu peux rediriger uniquement ce qui est apeler par le navigateur!! Donc le fichier sur lequel tu pointes et les images qui elles memes ont leur propre adresses.
Mais les fichiers comme config.php ne passe pas par le moteur de redirection rewrite.
Normal qu'il n'y est rien dans tes logs.
 
WRInaute passionné
KOogar,

pourtant, les images et les CSS devraient être "catchés" par le ModRewrite.

Exemple :

j'appelle en direct : http://www.monsite.com/template/fichier.css
Et il faudrait que le .htaccess puisse mapper de /public_html/monsite/template/fichier.css vers /public_html/base/template/fichier.css

Mettre http://www.monsite.com/template/fichier.css me permet de tester la validité du ModRewrite...

quelque chose doit être incorrect dans le .htaccess :(
 
WRInaute accro
je ne te suis plus. Tu as un fichier css dans un repertoire donné et tu penses qu'avec des redirections il pourra maper d'autres repertoires ?
 
WRInaute passionné
oui, c'est exactement ça.

je résume :

j'ai un repertoire de base contenant le CMS. Le but est d'avoir une solution multisite avec juste 1 seul endroit où se trouvent les fichiers

/public_html/base --> www .base.com

Les autres répertoires sont liés à des noms de domaines et contiennent environ 6 fichiers chacuns (dont index.php, configuration.php, ... bref, des fichiers qui gèrent cet aspect multisite) :

/public_html/site1 --> www .site1.com
/public_html/site2 --> www .site2.com
/public_html/site3 --> www .site3.com
... ...

Pour ces 6 fichiers, ils doivent être accessibles directement

exemple :

www.site1.com/index.php --> /public_html/site1/index.php

Mais pour tous les autres fichiers, il faut qu'ils pointent sur le répertoire de base

exemple :

www.site1.com/images/image1.gif --> /public_html/base/images/image1.gif


Bref, cela concerne tous les fichiers DIRECTEMENT accessibles via le navigateur, c'est à dire *.css, *.jp?g, *.gif, *.pdf, *.js, ... à l'exclusion des fichiers php qui sont correctement appelés dans les scripts eux-même.

Voilà :)
 
WRInaute passionné
résolu

Here is the solution (at least for my problem) :

1. there is www.base.com, which is the URL rattached to the "root" website that supports JMS administration.

2. there is www.mysite1.com which is called in JMS a "subsite" .

3. www.mysite1.com is declared as parked domain in CPanel hosting interface. that way I can access in .htaccess to every directory inside the root directory of my hosting.

4. I have moved www.base from /public_html to /public_html/base for maintenance reasons (easier to update 1 directory, and easier to manage websites as directories, especially the one that is associated with the hosting account

5. Here is the content of .htacces which is located in /public_html.

Code:
##############
#Management of www.base.com
##############
#I don't want http://base.com but always http://www.base.com
RewriteCond %{HTTP_HOST} ^base.com$
RewriteRule ^(.*) http://www.base.com/$1  [QSA,L,R=301]
#redirection
RewriteCond %{HTTP_HOST} ^www.base.com$ [NC]
RewriteRule ^(.*) base/$1 [L]

##############
#Management of www.mysite1.com
##############
#I don't want http://base.com but always http://www.mysite1.com
RewriteCond %{HTTP_HOST} ^mysite1.com$
RewriteRule ^(.*) http://www.mysite1.com/$1  [QSA,L,R=301]

#All files listes here are mapped to the subsite directory of www.mysite1.com
RewriteCond %{HTTP_HOST} ^www.mysite1.com$
RewriteCond %{REQUEST_URI} ^/+(initsite.php|index.php|index2.php|index3.php|config.php|configuration.php|dbSitesRules.php)$ [NC]
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{REQUEST_URI} ^$                                    <--- Have to work on it again , www.mysite1.com and www.mysite1.com/ are not correctly catched...
RewriteRule ^(.*) mysite1/$1  [L]

#All other files not catched above are mapped to the basis directory of the root website www.base.com
RewriteCond %{HTTP_HOST} ^www.mysite1.com$
RewriteRule ^(.*) base/$1  [L]
 
Discussions similaires
Haut