Version complète: sur le forum Webmaster Hub : Redirection d'un site vers un répertoire d'un autre site
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
vinz
Salut smile.gif

J'ai 2 sites internet, appelons les "Site 1" et "Site 2", qui vont fusionner. En fait, "Site 2" sera accessible à partir du répertoire "/site" de "Site 1". Donc j'ai stoppé l'hébergement de "Site 2", et j'ai fait pointer les DNS vers les serveurs qui hébergent "Site 1". Le problème, c'est que maintenant quand on tape l'adresse de "Site 2", on est automatiquement redirigé vers l'index de "Site 1". Or je veux que toutes les pages du "Site 2" redirigent vers ces mêmes pages, qui se trouvent maintenant dans le répertoire "/site" de "Site 1", pour que les utilisateurs s'y retrouvent et qu'il n'y ait pas de perte au niveau du référencement.

Autrement dit, je veux que quand on tape une adresse du type www.site2.com/article1.php , ça redirige automatiquement vers www.site1.com/site/article1.php , avec à ma disposition comme seul outil le .htaccess du "Site 1"


Qu'est-ce que je dois écrire dans mon .htaccess pour faire cette opération?


Merci d'avance a_thumbsup_20.gif a_thumbsup_20.gif
Jeanluc
Essaie ceci:
CODE
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.site2.com$
RewriteRule ^(.*)   http://www.site1.com/site/$1  [QSA,L,R=301]

Jean-Luc
vinz
Avec ce code

CODE
RewriteEngine On
Options +FollowSymlinks
RewriteCond %{HTTP_HOST} ^www.psgclan.info$
RewriteRule ^(.*)   http://www.psgclan.com/site/$1  [QSA,L,R=301]


Rien ne change et le .info redirige toujours sur l'index du .com
Jeanluc
Tu n'aurais pas une règle dans le style de ceci ailleurs dans ton .htaccess ?
CODE
RewriteCond %{HTTP_HOST} !^www.psgclan.com$
RewriteRule ^(.*)   http://www.psgclan.com/$1  [QSA,L,R=301]

Jean-Luc
vinz
Effectivement!

Voici le contenu de mon fichier .htaccess entier :

CODE
RewriteEngine On
Options +FollowSymlinks
RewriteCond %{REQUEST_URI} ^/([^/]+)$
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^([^/]+)$ http://%{SERVER_NAME}/$1/ [R,L]
RewriteCond %{REQUEST_URI} ^/([^/]+)/
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^([^/]+)(.+)$ http://%{SERVER_NAME}/~$1/$2
################################################################################

#DirectoryIndex index.php?act=home
RewriteCond %{HTTP_HOST} !www.psgclan.com$
RewriteRule (.*) http://www.psgclan.com/$1 [R=301,L]
RewriteCond %{REQUEST_URI} ^/forums/
RewriteRule (.*) http://www.psgclan.com/index.php [R=301,L]

RewriteCond %{HTTP_HOST} ^www.psgclan.info$
RewriteRule ^(.*)   http://www.psgclan.com/site/$1  [QSA,L,R=301]


Que faut-il modifier?
Jeanluc
Comme ceci, en changeant l'ordre :

CODE
RewriteEngine On
Options +FollowSymlinks

RewriteCond %{HTTP_HOST} ^www.psgclan.info$
RewriteRule ^(.*)   http://www.psgclan.com/site/$1  [QSA,L,R=301]

RewriteCond %{REQUEST_URI} ^/([^/]+)$
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^([^/]+)$ http://%{SERVER_NAME}/$1/ [R,L]
RewriteCond %{REQUEST_URI} ^/([^/]+)/
RewriteCond %{DOCUMENT_ROOT}/%1 !-d
RewriteCond /home/sites/%{SERVER_NAME}/users/%1 -d
RewriteRule ^([^/]+)(.+)$ http://%{SERVER_NAME}/~$1/$2
################################################################################

#DirectoryIndex index.php?act=home
RewriteCond %{HTTP_HOST} !www.psgclan.com$
RewriteRule (.*) http://www.psgclan.com/$1 [R=301,L]
RewriteCond %{REQUEST_URI} ^/forums/
RewriteRule (.*) http://www.psgclan.com/index.php [R=301,L]

Jean-Luc
vinz
Ca marche parfaitement. smile.gif

Un grand merci à Jean-Luc, vraiment a_thumbsup_20.gif

Une dernière question, quelle différence y a-t-il entre
CODE
RewriteRule ^(.*)   http://www.psgclan.com/site/$1  [QSA,L,R=301]
et une règle de type RedirectPermanent ? Dans les deux cas, pour les moteurs de recherche, c'est une redirection permanente sans perte au niveau du référencement?

Jeanluc
Oui, il n'y a aucune différence visible pour les robots et les navigateurs.

Jean-Luc
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.