Obliger l'utilisation des sous-domaines

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 ?
 
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:
 
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} ".
 
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.
 
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
 
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 :?
 
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]
 
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/
 
Essaie en rajoutant un slash : RewriteRule ^/algerie/(.*)$

(et j'ai modifié un peu la solution du message précédent)
 
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/(.*)$
 
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]
 
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...
 
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
 
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.
 
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
 
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...
 
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 !
 
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:
 
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)
 
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 :?
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut