Rediriger tous les sous-domaines "numériques" vers un autre sous-domaine

Discussion dans 'URL Rewriting et .htaccess' créé par Valky, 11 Avril 2013.

  1. Valky
    Valky WRInaute discret
    Inscrit:
    31 Janvier 2011
    Messages:
    61
    J'aime reçus:
    0
    Bonjour,

    Je souhaite rediriger via htaccess, tous les sous-domaines "numériques" vers un autre sous-domaine.
    Exemples :
    Code:
    http://12.domaine.com/mapage.php?vars=mesvars
    http://345.domaine.com/mapage.php?vars=mesvars
    http://6789.domaine.com/mapage.php?vars=mesvars
    vers
    http://sous.domaine.com/mapage.php?vars=mesvars
    J'ai tenté ce qui suit, sans succès :
    Code:
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^([0-9]*).domaine.com/(.*)$ http://sous.domaine.com/$2[QSA,L]
    J'ai également tenté ce qui suit, sans succès :
    Code:
    RewriteCond %{HTTP_HOST} ^([0-9]*)\.domaine\.com
    RewriteRule ^/(.*)$ http://sous.domaine.com/$1 [QSA,L,R=301]
    Merci d'avance pour votre aide.
     
  2. longo600
    longo600 WRInaute passionné
    Inscrit:
    24 Février 2005
    Messages:
    2 166
    J'aime reçus:
    7
    Bonjour

    chaque sous domaine numérique a son répertoire?

    si le chemin apres le sous domaine est identique, la regle suivante doit etre suffisante
    Code:
    Redirect Permanent / http://nouveausousomaine.NDD/
     
  3. Valky
    Valky WRInaute discret
    Inscrit:
    31 Janvier 2011
    Messages:
    61
    J'aime reçus:
    0
    Merci pour votre réponse.

    Non, les sous-domaines n'existent pas, ils sont, comment dire, "virtuels".

    Les pages appelées peuvent être différentes :
    Code:
    http://12.domaine.com/mapage.php?vars=mesvars
    http://345.domaine.com/autre_page.php?vars=mesvars
    http://6789.domaine.com/encore_une_autre.php?vars=mesvars
    vers
    http://sous.domaine.com/page+vars
    Précision : je ne veux rediriger que les sous-domaines "numériques" vers "sous".
    Les autres ne doivent pas être redirigés (www, admin, mail...)
     
  4. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 169
    J'aime reçus:
    346
    Pourquoi ne pas faire ça plus simplement en PHP ?
     
  5. Valky
    Valky WRInaute discret
    Inscrit:
    31 Janvier 2011
    Messages:
    61
    J'aime reçus:
    0
    Je ne vois pas bien ce que le PHP pourrait bien y faire...

    Non, je n'ai pas la main sur ces urls, elles viennent d'un appel javascript du type :
    Code:
    <script type="text/javascript" src="http://numéro.domaine.com/page_abc.php?vars=vars"></script>
    Elles sont déjà en place sur de nombreux sites (dont je ne suis pas le propriétaire).
     
  6. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 169
    J'aime reçus:
    346
    Bah si c'est un domaine en wildcard (j'en sais rien), je ne vois pas ce que le PHP ne pourrait rien y faire...
     
  7. Valky
    Valky WRInaute discret
    Inscrit:
    31 Janvier 2011
    Messages:
    61
    J'aime reçus:
    0
    Non, j'ai un serveur dédié tout ce qu'il y a de plus normal.

    Mais la question générique est : comment rediriger, avec un htaccess, tous les sous-domaines "numériques" vers un sous-domaine ?

    Re exemple :
    http://123456.domaine.com vers http://sous.domaine.com
     
  8. longo600
    longo600 WRInaute passionné
    Inscrit:
    24 Février 2005
    Messages:
    2 166
    J'aime reçus:
    7
  9. Valky
    Valky WRInaute discret
    Inscrit:
    31 Janvier 2011
    Messages:
    61
    J'aime reçus:
    0
    Merci pour le lien.

    Bon, après de nombreux essais, il semble que cela n'est pas possible pour plusieurs raisons :

    Si le dossier du sous-domaine n'existe pas, apache ne gère pas le rewriting/redirection pour ce qui suit dans l'url.

    http://1234.domaine.com/page.html n'existe pas donc erreur 404.

    La seule chose possible est de rediriger :
    http://1234.domaine.com (sans le / dans le rewriteRule)) vers http://sous.domaine.com (qui lui existe)

    Donc je vais bricoler autre chose.

    Merci quand même pour vos commentaires.
     
  10. longo600
    longo600 WRInaute passionné
    Inscrit:
    24 Février 2005
    Messages:
    2 166
    J'aime reçus:
    7
    une fonction pour tester et creer le dossier si il n'existe pas peut-être? (je dis ce qui me vient a l'esprit,sans etre sûr)
     
  11. Valky
    Valky WRInaute discret
    Inscrit:
    31 Janvier 2011
    Messages:
    61
    J'aime reçus:
    0
    Oui, c'est une idée, mais ça ne solutionnera pas les pages du dossier...
    De plus, ces numéros de dossiers/sous-domaines sont générés aléatoirement...

    Pour info, je fais tout ça pour leurrer adblock... car il semblerait qu'avec les htaccess il ne puisse pas faire grand chose.
     
  12. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 169
    J'aime reçus:
    346
    Je vois tjs pas en quoi PHP ne px pas t'aider ? :roll:

    Dans ton header / front controller / etc :
    PHP:
    <span class="syntaxdefault"><br />$subDomain&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxdefault">substr</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'HTTP_HOST'</span><span class="syntaxkeyword">],&nbsp;</span><span class="syntaxdefault">0</span><span class="syntaxkeyword">,&nbsp;</span><span class="syntaxdefault">strpos</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'HTTP_HOST'</span><span class="syntaxkeyword">],&nbsp;</span><span class="syntaxstring">'.'</span><span class="syntaxkeyword">));<br />if&nbsp;(</span><span class="syntaxdefault">is_numeric</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$subDomain</span><span class="syntaxkeyword">))&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">$url&nbsp;</span><span class="syntaxkeyword">=&nbsp;</span><span class="syntaxstring">'http://sous.domaine.com'</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$_SERVER</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'REQUEST_URI'</span><span class="syntaxkeyword">];<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">header</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Status:&nbsp;301&nbsp;Moved&nbsp;Permanently"</span><span class="syntaxkeyword">);<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="syntaxdefault">header</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"Location:&nbsp;"</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$url</span><span class="syntaxkeyword">);<br />&nbsp;&nbsp;&nbsp;&nbsp;exit();<br />}<br />&nbsp;</span><span class="syntaxdefault"></span>
     
  13. Valky
    Valky WRInaute discret
    Inscrit:
    31 Janvier 2011
    Messages:
    61
    J'aime reçus:
    0
    Merci sprout, mais PHP ne peut vraiment rien pour moi... :roll:

    Les urls sont appelées via d'autres domaines, comme suit :
    Code:
    <script type="text/javascript" src="http://NUMERO_ALEATOIRE.domaine.com/page_abc.php?vars=vars"></script>
    Les dossiers n'existent pas et ne contiennent donc pas de pages avec des headers.

    En plus, $_SERVER['REQUEST_URI'] n'est absolument pas une donnée fiable.
     
  14. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 021
    J'aime reçus:
    1
    +1 avec spout je vois pas ou est le blocage vis a vis d'un traitement php.
    en revanche je vois pas plus ce qui coince avec le htaccess j'airais fait plutôt un truc comme ça :

    Code:
    RewriteCond %{HTTP_HOST} ^([0-9]*).example.com
    RewriteRule ^(.*)$ http://sous.example.com/$1 [QSA,L,R=301]
    1/ pas besoin d'escaper les points dans la condition
    2/ ton slash en début de rewrite c'est pas bien vu je pense.
     
  15. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 021
    J'aime reçus:
    1
    Je veux bien un exemple ou une explication là.
     
  16. Valky
    Valky WRInaute discret
    Inscrit:
    31 Janvier 2011
    Messages:
    61
    J'aime reçus:
    0
    @Zeb
    Merci, mais cela ne fonctionne pas avec les pages (cf mon sujet)

    http://123456.example.com/unepage.php
    donnera
    Code:
    The requested URL /unepage.php was not found on this server.
    Car la page n'existe pas dans le dossier 123456 (qui lui même n'existe pas non plus).

    En ce qui concerne PHP, ça n'a rien à voir, puisqu'on n'en est pas encore là avant la redirection.
    Vous semblez ne pas comprendre que les pages appelées par le script n'existent pas...

    Oops, j'ai confondu avec $_SERVER["HTTP_REFERER"], autant pour moi.
     
  17. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 021
    J'aime reçus:
    1
    Bah déjà faut en créer un et lui donner les moyens de gérer ... c'est sur que si tu as des liens dans tous les sens que tu ne les maitrise pas tu va pas, en plus, leur faire des dossiers physiques un par un ...
    Code:
    RewriteCond %{HTTP_HOST} ^([0-9]*).example.com
    RewriteRule ^(.*)$ http://sous.example.com/script.php?data=$1 [QSA,L,R=301]
    Tu implémente "script.php" a la racine du domaine (ou ailleurs), il va tout prendre dans le nez et il lui restera plu qu'a se démerder.
    D'ailleurs je suis en train de penser que même sans la condition si ton dns est réglé pour tout envoyer sur le même dossier physique ça devrais passer. Je dis ça en passant car chez moi le CMS prend X domaines dans la figure et le htaccess envoie les datas sur des scripts précis sans se soucier de qui ça viens (c'est pris en compte derrière en php comme dit spout)
     
  18. longo600
    longo600 WRInaute passionné
    Inscrit:
    24 Février 2005
    Messages:
    2 166
    J'aime reçus:
    7
    Et pourquoi pas creer une serie de dossiers? après tout, ce n'est pas 20 000 dossiers vides qui vont poser un quelconque probleme au serveur, ni ralentir celui-ci. Si ce nombre st supérieur a 50 000, cela peut en effet commencer a etre plus delicat. Sinon, sur un dédié et jusqu'à 20 000, je n'hésiterais pas si cela doit me donner la solution a mon probleme.
     
  19. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 021
    J'aime reçus:
    1
    parce qu'en plus il semble qu'il devrait y créer je sais pas combien de script par dossier. Et accessoirement c'est pas très élégant (avis perso bien sur qu'on est pas obligé de partager)
     
  20. Valky
    Valky WRInaute discret
    Inscrit:
    31 Janvier 2011
    Messages:
    61
    J'aime reçus:
    0
    Merci pour ton investissement Zeb :)

    Non, le dossier de destination "sous" contient bien les pages/scripts. Mais pas les dossiers numériques virtuels.

    Code:
    RewriteCond %{HTTP_HOST} ^([0-9]*).example.com
    RewriteRule ^(.*)$ http://sous.example.com/script.php?data=$1 [QSA,L,R=301]
    Le $1 ne m'intéresse absolument pas.
    Ce qui m'aurait intéressé c'est de récupérer ^([0-9]*).example.com/tout-ce-qui-suit.php
    Mais là ça ne marchera pas pour les causes exposées précédemment.

    Bon, j'ai finalement trouvé une autre solution, que je souhaitais éviter...
    J'ai envoyé un message à tous mes affiliés afin qu'ils utilisent un nouveau script, qui, lui,sera plus évolutif.

    Merci quand même pour votre aide.

    P.S. : un conseil pour vos affiliations, régies pubs etc... appelées avec du JS, évitez de nommer vos dossiers, sous-domaines, et pages avec les mot-clés "ads", "ad", "pub"... sinon vous êtes certains que les utilisateurs d'adblock ne verront rien. Et cela vous évitera des bidouilles comme celles de ce sujet...
     
  21. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 021
    J'aime reçus:
    1
    Bah c'est dommage car il contiens toutes les données relative a ta requête don le numéro de sous domaine, le dossier cible, le script les variables etc ... faut juste parser "data" pour gérer ce que tu veux faire.
     
  22. Leonick
    Leonick WRInaute accro
    Inscrit:
    8 Août 2004
    Messages:
    19 274
    J'aime reçus:
    0
    le dns ne renvoie que vers une ip. Ensuite c'est apache qui prend la main pour renvoyer sur un dossier
     
  23. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 021
    J'aime reçus:
    1
    oui je me suis mal exprimé "si les réglages dns de ton hébergeur ("manageur")" ... (la relation domaine / dossier se fait là généralement)
     
Chargement...
Similar Threads - Rediriger domaines numériques Forum Date
Rediriger des domaines au nom explicite vers un domaine établi mais moins spécifique Netlinking, backlinks, liens et redirections 1 Février 2021
rediriger les sous domaines vers la page d'accueil URL Rewriting et .htaccess 11 Janvier 2021
Domaines Expirés : rediriger ou faire des sites ? Netlinking, backlinks, liens et redirections 3 Décembre 2020
60 domaines achetés. Rediriger ou laisser dormir? Noms de domaine et référencement 13 Septembre 2018
3 sous-domaines à rediriger Problèmes de référencement spécifiques à vos sites 24 Novembre 2016
Acheter plusieurs noms de domaines et rediriger vers un même NDD est il préjudiciable ? Noms de domaine et référencement 17 Février 2014
domaines pointent vers le même contenu : comment rediriger URL Rewriting et .htaccess 13 Juin 2012
Rediriger les sous domaines URL Rewriting et .htaccess 18 Décembre 2009
rediriger deux domaines vers meme site URL Rewriting et .htaccess 15 Avril 2009
Rediriger ses sous domaines sur une page 404 perso URL Rewriting et .htaccess 2 Avril 2007
WordPress Rediriger le visiteur en fonction de la langue du navigateur Référencement international (langues, pays) Vendredi à 13:16
Supprimer landing page homepage, rediriger vers page réelle Problèmes de référencement spécifiques à vos sites 28 Novembre 2021
Rediriger seo d'un site vers un autre Débuter en référencement 4 Novembre 2021
Rediriger de non-www à www pour utiliser Cloudflare Référencement Google 1 Novembre 2021
Rediriger tout un site vers un répertoire à la racine URL Rewriting et .htaccess 23 Juin 2021
page 404 lien indexer comment le rediriger? Débuter en référencement 12 Janvier 2021
Comment rediriger en 301 toutes les 404 vers une page précise ? Débuter en référencement 9 Septembre 2020
Rediriger Index.php vers racine URL Rewriting et .htaccess 15 Août 2020
Tout rediriger sauf une page contenant 'JS' URL Rewriting et .htaccess 3 Juin 2020
Rediriger un site avec www vers sans www Administration d'un site Web 20 Avril 2020