2013-02-01 3 views
0

j'ai 2 sites hébergés au même endroit: domain1.com et domain2.complusieurs sites avec htaccess et maintenus séparés

La position de départ est que les deux points au niveau du répertoire racine.

/racine/sous-répertoire1/contient les fichiers pour domain1.com /racine/sous-répertoire2/est le répertoire pour mon autre site. Domain1.com devrait ramasser les fichiers qui se trouvent dans le répertoire/subdirectory1 /. domain2.com devrait ramasser les fichiers qui se trouvent dans/subdirectory2/dossier. Je ne veux pas non plus pouvoir accéder à domain1.com/subdirectory2/ car ce sont des sites Web distincts. Toutes les URL autres que www doivent également être transférées vers www. version.

Je ne demande pas beaucoup? La plupart de ce que j'ai vu sur le web aide certains de ceci mais pas tous. Il semble préférable de ne pas coller mes tentatives écrasées à cela mais demander de l'aide avec une ardoise propre.

J'ai essayé ce qui suit dans le fichier .htaccess racine ...

RewriteEngine on 
Options +FollowSymLinks 
RewriteBase/
# Site 1 
RewriteCond %{HTTP_HOST} ^domain1.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/subdirectory1/.*$ 
RewriteRule ^(.*)$ /subdirectory1/$1 [L] 
# Site 2 
RewriteCond %{HTTP_HOST} ^domain2.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/subdirectory2/.*$ 
RewriteRule ^(.*)$ /subdirectory2/$1 [L] 

Et puis dans le fichier .htaccess subdirectory1 ...

RewriteEngine On 
RewriteRule ^subdomain2/(.*)$ http://www.domain1.com/$1 [R=301,L] 

Mais je ne peux toujours pas pour travailler comme désiré. S'il vous plaît aider (et je n'ai pas accès à faire des hôtes virtuels avec cet espace web.)

+0

Ceci est fait avec l'hôte virtuel apache et non avec htaccess. – n1xx1

+0

En fait, de la façon dont ce site fonctionne, il est ** préférable de coller ce que vous avez essayé jusqu'à présent, car cela montre un certain effort et les gens sont plus disposés à corriger ce que vous avez essayé et à apprendre pourquoi Je ne travaille pas contre créer quelque chose à partir de rien. Comme indiqué par le commentaire précédent, VirtualHost est ce que vous cherchez: http://httpd.apache.org/docs/2.2/vhosts/examples.html –

+0

En fait, j'utilise iPage, et je ne pense pas que vous pouvez utiliser hôtes virtuels (ou je ne peux pas le trouver). – user2033630

Répondre

0

Si possible, déplacez le dossier domain2 en dehors du dossier domain1. Vous serez heureux de l'avoir fait.

Mettre cela dans le fichier .htaccess dans le dossier domain1:

RewriteEngine On 
RewriteRule ^domain2/(.*)$ http://www.domain2.com/$1 [R=301,L] 

Si vous avez un fichier .htaccess dans le dossier domain2 ajouter ceci:

RewriteEngine On 
RewriteOptions Inherit 

Selon les autres règles que vous avoir pour site1, vous ne pouvez pas vouloir en hériter. Dans ce cas, placez simplement la première RewriteRule dans les deux fichiers .htaccess. Maintenant, tout cela suppose que vos sites sont déjà rendus sur domain1.com et domain2.com. Si vous essayez de les faire rendre, rien de tout cela ne vous aidera. Vous devrez d'abord obtenir le rendu des domaines correctement, ce qui nécessitera l'installation de vhost comme mentionné par @ N1xx1 et @David. Cela devrait être fait via votre logiciel de panneau de contrôle ou en travaillant avec une personne de soutien chez votre hébergeur.