Redirection sous-domaine vers un dossier du domaine

Nouveau WRInaute
j'ai trouvé pas mal d'infos pour rediriger un dossier vers un sous-domaine mais pas le contraire
l'url rewriting, c'est pas trop mon truc, mais j'essaie de m'y mettre

j'aimerais pouvoir accéder à mes stats situées dans un dossier webstat de mon domaine depuis le sous-domaine webstat.domain.com, donc faire pointer ce sous-domaine vers domain.com/webstat
comment puis-je m'en sortir à partir d'un htaccess?

ma première question est : vaut-il mieux créer le sous-domaine et gérer le htaccess depuis le dossier du sous-domaine ou puis-je tout faire depuis le htaccess "principal"?

tous mes essais dans un sens ou dans l'autre se sont soldés par des échecs
soit je suis carrément renvoyée vers mon site, soit j'obtiens une erreur 404
 
Nouveau WRInaute
j'ai provisoirement solutionné mon problème en créant le sous-domaine webstat.domain.com et en y mettant juste un fichier htaccess contenant
Code:
RewriteEngine On
RewriteRule ^(.*)$ http://www.domain.com/webstat/ [R=301,L]

j'aurais quand même aimé savoir :
1° s'il était possible de gérer ça directement depuis le htaccess "principal" de mon domaine
2° s'il y a une solution pour que la redirection ne se voie pas dans la barre d'adresse (ie que ce soit écrit webstat.domain.com et non www.domain.com/webstat)

merci d'avance d'essayer de me mettre sur la piste
 
Nouveau WRInaute
au fur et à mesure ça avance (et je continue mon monologue)
je m'en suis sortie sur mon domaine principal en mettant dans le htaccess du domaine
Code:
RewriteCond %{HTTP_HOST} ^webstat.domain1.com$
RewriteRule ^(.*) http://www.domain1.com/webstat/ [L,R=301]

j'ai voulu faire la mm chose pour un autre domaine hébergé sur le mm serveur, mais pris chez un autre fournisseur de ndd
j'ai bien entré les paramètres dns de mon hébergement et tout semble fonctionner de point de vue du site
par contre, avec mon histoire de webstat, ça redirige vers le site du domaine principal (que j'ai appelé domain1) alors que dsn le htaccess, j'ai bien changé le nom de domaine pour y mettre domaine 2.
quelqu'un saurait-il m'expliquer pourquoi?
 
Nouveau WRInaute
Essaye avec ça :
Code:
# URL commence par une chaine
RewriteCond %{HTTP_HOST} ^([a-z]+)\.domain1 [NC]
# mais pas www
RewriteCond %{HTTP_HOST} !^www\. [NC]
# alors on va dans le dossier
RewriteRule .* http://www.domain1.com/%1%{REQUEST_URI} [R]
 
Nouveau WRInaute
je vais essayer pour voir si ça peut régler le problème des sous-domaines de domaine2 qui sont renvoyés vers domaine1
mais je préfèrerais que les autres sous-domaines que je n'ai pas choisi d'utiliser soient redirigés vers www et pas vers un dossier qui n'existera pas

à noter aussi que les sous-domaines webmail, mail et ftp sont utilisés et qu'il faudra que je les exclue aussi de la redirection
 
Nouveau WRInaute
Il est possible avec RewriteCond de tester si un dossier existe :
Code:
RewriteCond chemin_du_dossier -d

Peut-être qu'avec ça alors :
Code:
# URL commence par une chaine
RewriteCond %{HTTP_HOST} ^([a-z]+)\.domain1 [NC]
# mais pas www
RewriteCond %{HTTP_HOST} !^www\. [NC]
# et si c'est un dossier
RewriteCond %1 -d
# alors on va dans le dossier
RewriteRule .* http://www.domain1.com/%1%{REQUEST_URI} [R,L]
# si ce n'est pas un dossier
RewriteCond %1 !-d
# on va ailleurs
RewriteRule .* http://www.domain2.com/ [R,L]

Désolé si ça ne marche pas en tant que tel, il faut peut-être modifier quelques peu mais ça devrait correspondre à ce que tu veux faire. j'ai un hébergement où je pourrais tester mais ça modifierait temporairement son fonctionnement.

En tout cas, la meilleur source d'infos c'est là :
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html
 
Nouveau WRInaute
bonjour,

comment je peut faire la redirection suivante:

de

sousdomaine.domaine.com

vers

domaine.com/sousdomaine



merci
 
WRInaute accro
Comme ceci:

Code:
RewriteCond %{HTTP_HOST} ton-sous-domaine
RewriteCond %{HTTP_HOST} ^([^.]*)\.?([^.]+).([^.]+)$ [NC]
RewriteRule ^(.*)$ /%1/$1 [L]
 
Nouveau WRInaute
KOogar a dit:
Comme ceci:

Code:
RewriteCond %{HTTP_HOST} ton-sous-domaine
RewriteCond %{HTTP_HOST} ^([^.]*)\.?([^.]+).([^.]+)$ [NC]
RewriteRule ^(.*)$ /%1/$1 [L]

merci pour votre réponse, mais ça n'a pas marché :(
par contre, le domaine n'est pas mentionné !!

pouvez vous me donner plus de précision svp

merci d'avance.
 
WRInaute accro
Normal que le NDD ne soit pas mentionné, il est capturé automatiquement
le code redirige:
www10.Exemple.com ===> Exemple.com/sous_domaines/www10/

pour rediriger:
sous-domaine.Exemple.com ===> Exemple.com/sous_domaines/sous-domaine/

Code:
RewriteCond %{HTTP_HOST} sous-domaine [OR]
RewriteCond %{HTTP_HOST} www10
RewriteCond %{REQUEST_URI} !^/repertoire-des-sous-domaines
RewriteCond %{HTTP_HOST} ^([^.]*)\.?([^.]+).([^.]+)$ [NC]
RewriteCond %{HTTP_HOST} !^Example\.com$ 
RewriteRule ^(.*)$ /sous_domaines/%1/$1
 
Nouveau WRInaute
Bonjour

Une question pas si simple pour moi tant je me casse les neurones dessus depuis un moment:

Voilà je voudrais rediriger sousdomaine.domaine.com vers sousdomaine.autredomaine.com.

Quelle est la meilleure méthode ? un rewriterule dans un fichier .htaccess ? un redirection dns ?
Et comment fait-on d'ailleurs pour écrire ça en .htaccess ?

Merci d'avance
 
Discussions similaires
Haut