Obliger l'utilisation des sous-domaines

Nouveau WRInaute
Bonjour,

Ce message est une continuité d'un topic que j'avais crée il y a quelques mois : https://www.webrankinfo.com/forum/t/resolu-sous-domaines-et-cacher-ladresse-de-lhebergeur.28468/

Donc dans mon .htaccess j'ai:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www|toto|tata).mondomaine.com$ [NC]
RewriteRule ^(.*)$ http://www.mondomaine.com/$1 [R,L]

Ce que j'aimerais faire maintenant c'est obliger l'utilisation de mes sous-domaines.
Que mon www.mondomaine.com/toto soit renommé automatiquement en toto.mondomaine.com
Que mon www.mondomaine.com/site2/tata soit renommé automatiquement en tata.mondomaine.com

Comment faire pour obliger l'utilisation de mes sous-domaines ?
 
WRInaute impliqué
Il y a plusieurs façon de faire.
Soit tu mets dans chaque répertoire :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^toto.mondomaine.com$ [NC]
RewriteRule ^(.*)$ http://toto.mondomaine.com/$1 [QSA,L,R=301]

Soit tu mets tout dans le htaccess racine :

Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www|toto|tata).mondomaine.com$ [NC]
RewriteRule ^(.*)$ http://www.mondomaine.com/$1 [QSA,L,R=301]
RewriteCond %{HTTP_HOST} !^toto.mondomaine.com$ [NC]
RewriteRule ^toto/(.*)$ http://toto.mondomaine.com/$1 [QSA,L,R=301]
RewriteCond %{HTTP_HOST} !^tata.mondomaine.com$ [NC]
RewriteRule ^site2/tata/(.*)$ http://tata.mondomaine.com/$1 [QSA,L,R=301]
etc...
(il ne faut qu'il y ait un répertoire 'toto' en sous répertoire de 'toto')

Attention, tu parles de "renommage", mais ce n'est pas du renommage c'est de la redirection, ce qui est plus mieux...
D'ailleurs, à ce propos, à la fin de la règle que je tu cites, remplace [L,R] par [QSA,L,R=301]. Si on ne mets pas R=301, ça fait une 302 (normalement) ce qui n'est pas souhaitable.

Edit: rajouté le ! qui manquait... :wink:
 
Nouveau WRInaute
Merci de ton aide :)

J'ai fais comme tu as dis mais pour que ça marche correctement j'ai rajouté un "!" juste après "{HTTP_HOST} ".
 
WRInaute impliqué
Bien vu !
Mais en fait tu ne peux pas être en toto.domaine.com à cet endroit, donc tu peux faire sauter la ligne car la condition est toujours vraie... :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www|toto|tata).mondomaine.com$ [NC]
RewriteRule ^(.*)$ http://www.mondomaine.com/$1 [QSA,L,R=301]
RewriteRule ^toto/(.*)$ http://toto.mondomaine.com/$1 [QSA,L,R=301]
RewriteRule ^site2/tata/(.*)$ http://tata.mondomaine.com/$1 [QSA,L,R=301]
etc...
Par contre, comme je te l'ai dis, il faut que le noms que tu utilises pour les répertoires principaux des sous domaines (ici : toto, tata ) soient uniques, car les règles que tu mets à la racine vont être appliquées dans tous les sous repertoires du site.
 
WRInaute impliqué
Remi L. a dit:
Bien vu !
Mais en fait tu ne peux pas être en toto.domaine.com à cet endroit, donc tu peux faire sauter la ligne car la condition est toujours vraie... :
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(www|toto|tata).mondomaine.com$ [NC]
RewriteRule ^(.*)$ http://www.mondomaine.com/$1 [QSA,L,R=301]
RewriteRule ^toto/(.*)$ http://toto.mondomaine.com/$1 [QSA,L,R=301]
RewriteRule ^site2/tata/(.*)$ http://tata.mondomaine.com/$1 [QSA,L,R=301]
etc...
Par contre, comme je te l'ai dis, il faut que le noms que tu utilises pour les répertoires principaux des sous domaines (ici : toto, tata ) soient uniques, car les règles que tu mets à la racine vont être appliquées dans tous les sous repertoires du site.


Bonjour Rémi je profite de ce topic car j'ai le même problème que j'avias évoqué sur ce topic mais je n'ai pas eu de réponse satisfesante!


Voila j'ai crée un sous domaine en y mettant un mot clée
ex: -http://algerie.monsite.com qui pointe vers -http://www.monsite.com/algerie/

toute les page du sous site son indexé sur google sous l'URL
-http://www.monsite.com/algerie/wilaya/xxxx.htm

mais je vais faire pointer le liens vers ce sous site sur -http://algerie.monsite.com donc j'aurai
-http://algerie.monsite.com/wilaya/xxxx.htm

donc j'aurai un duplicate content
comment faire pour indiqué aux robots que toutes les pages se trouvant sous -http://www.monsite.com/algerie/wilaya/xxxx.htm doivent pointé vers -http://algerie.monsite.com/wilaya/xxxx.htm

en suivant ce que tu donne je trouve ça


Code:
RewriteEngine On 
RewriteCond %{HTTP_HOST} !^algerie.el-annabi.com$ [NC]
RewriteRule ^(.*)$ http://www.el-annabi.com/$1 [QSA,L,R=301]
RewriteRule ^algerie/(.*)$ http://algerie.el-annabi.com/$1 [QSA,L,R=301]
en sachant que
-http://algerie.monsite.com qui pointe vers -http://www.monsite.com/algerie/

peux tu me dire si c'est bon
 
WRInaute impliqué
Code:
RewriteEngine On 
RewriteCond %{HTTP_HOST} !^algerie.el-annabi.com$ [NC]
RewriteRule ^(.*)$ http://www.el-annabi.com/$1 [QSA,L,R=301]
RewriteRule ^algerie/(.*)$ http://algerie.el-annabi.com/$1 [QSA,L,R=301]

je viens de tester, mais ça ne marche pas, ça reste sur l'index de forum :?
 
WRInaute impliqué
Tu peux mettre tout simplement
Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.m|m)onsite\.com [NC] 
RewriteRule ^algerie/(.*)$ http://algerie.monsite.com/$1 [QSA,L,R=301]
 
WRInaute impliqué
Remi L. a dit:
Tu peux mettre tout simplement
Code:
RewriteEngine On
RewriteRule ^algerie/(.*)$ http://algerie.monsite.com/$1 [QSA,L,R=301]
à la condition expresse de ne pas utiliser une seconde fois le mot 'algerie' comme nom de répertoire à quel niveau que ce soit de l'arborescence.

ça ne fonctione pas, ça me revois ver url -http://www.el-annabi.com/algerie/index.htm

alors que je voulai avoir

-http://algerie.el-annabi.com/
 
WRInaute impliqué
Essaie en rajoutant un slash : RewriteRule ^/algerie/(.*)$

(et j'ai modifié un peu la solution du message précédent)
 
WRInaute impliqué
Remi L. a dit:
Essaie en rajoutant un slash : RewriteRule ^/algerie/(.*)$

(et j'ai modifié un peu la solution du message précédent)

avec
Code:
RewriteCond %{HTTP_HOST} ^(www\.|)el-annabi\.com [NC]
RewriteRule ^algerie/(.*)$ http://algerie.el-annabi.com/$1 [QSA,L,R=301]

j'ai une érreur 500 dès l'entré a mon site
même avec
RewriteRule ^/algerie/(.*)$
 
WRInaute impliqué
Remi L. a dit:
Essaie en enlevant la condition et avec et sans slash au début de la RewriteRule.

quand tu dis condition tu parle de cette ligne?
Code:
RewriteCond %{HTTP_HOST} ^(www\.|)el-annabi\.com [NC]
 
WRInaute impliqué
Oui celle-là : C'est elle qui génère l'erreur 500. Il aurait fallu mettre
Code:
RewriteCond %{HTTP_HOST} ^(www\.e|e)l-annabi\.com [NC]
mais de toutes façons, elle n'est pas franchement utile...
 
WRInaute impliqué
Remi L. a dit:
Oui celle-là : C'est elle qui génère l'erreur 500. Il aurait fallu mettre
Code:
RewriteCond %{HTTP_HOST} ^(www\.e|e)l-annabi\.com [NC]
mais de toutes façons, elle n'est pas franchement utile...

Salut rémi et merci pour ton aide

malheureusement ça ne fontionne pas!! :cry: :cry: :cry:

Code:
RewriteCond %{HTTP_HOST} ^(www\.e|e)l-annabi\.com [NC]
RewriteRule ^/algerie/(.*)$ http://algerie.el-annabi.com/$1 [QSA,L,R=301]

je vais changer d'hébergeur si ça continu
 
WRInaute impliqué
C'est un peu bizarre ton truc, il doit y avoir quelque chose qui fait interférence.

Essaie de mettre
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.e|e)l-annabi\.com [NC]
RewriteRule ^(.*)$ http://algerie.el-annabi.com/$1 [QSA,L,R=301]
dans le répertoire 'algerie' pour voir.

Sinon, vide ton htaccess principal, pour voir s'il y a qqchose qui interfère.
 
WRInaute impliqué
Remi L. a dit:
C'est un peu bizarre ton truc, il doit y avoir quelque chose qui fait interférence.

Essaie de mettre
Code:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.e|e)l-annabi\.com [NC]
RewriteRule ^(.*)$ http://algerie.el-annabi.com/$1 [QSA,L,R=301]
dans le répertoire 'algerie' pour voir.

Sinon, vide ton htaccess principal, pour voir s'il y a qqchose qui interfère.

non ça ne fobctionne pas, quand je veux acceder au lien a partire de la page d'acueil, rien ne se passe.
avec ou sans la condition

dans mon fichier .htacess j'ai que
Code:
RewriteEngine On
ErrorDocument 404 /annaba/redirection_erreur.htm
 
WRInaute impliqué
Bon... :)

Il faudrait d'abord s'assurer que le rewriting marche bien avec des règles très simples du genre
RewriteRule toto.htm titi.htm
et après complexifier petit à petit pour voir à quel moment ça coince...
 
WRInaute accro
el-annabi > comme expliqué sur le forum de ton hebergeur, tu t ennuie pour rien, chez eux les sous domaines sont gratuits et illimités !
 
WRInaute impliqué
e-kiwi a dit:
el-annabi > comme expliqué sur le forum de ton hebergeur, tu t ennuie pour rien, chez eux les sous domaines sont gratuits et illimités !

Salut E-kiwi, oui je le sais, mais je pense que tu as compris ce que je veux faire, eviter un duplicate content :wink:
 
WRInaute impliqué
Et au fait tu as essayé un simple
Code:
RedirectPermanent /algerie/  http://algerie.el-annabi.com/
(dans le htaccess à la racine

Si tu as un vrai sous-domaine, cela doit marcher (personnellement, c'est ce que j'utilise).
Il faut juste que tu n'utilises pas le mot 'algerie' pour un autre répertoire ailleurs. (d'ailleurs, ton répertoire au lieu de l'appeler 'algerie', tu peux l'appeler 'kzysjf2oifl' et tu es tranquille)
 
WRInaute impliqué
Remi L. a dit:
Et au fait tu as essayé un simple
Code:
RedirectPermanent /algerie/  http://algerie.el-annabi.com/
(dans le htaccess à la racine

Si tu as un vrai sous-domaine, cela doit marcher (personnellement, c'est ce que j'utilise).
Il faut juste que tu n'utilises pas le mot 'algerie' pour un autre répertoire ailleurs. (d'ailleurs, ton répertoire au lieu de l'appeler 'algerie', tu peux l'appeler 'kzysjf2oifl' et tu es tranquille)

Salut remi
oui j'ai un vrai sous domaine et il fonction
mais comme expliqué les page sont deja indéxé par google, il me faut un redirection pour eviter un duplicate contente

la solution a marché un moment puis elle ne fontion plus :?
 
Discussions similaires
Haut