Sous-domaine affichant une page par rapport à son nom.

Petit nouveau ! | 5 Messages

21 août 2010, 23:55

Bonsoir à tous !

J'ai un gros soucis (ou peut-être que c'est simple), le site est basé principalement sur http://www.nomdedomaine.com, j'aimerai que quand un utilisateur tape par exemple pokemon.nomdedomaine.com, la page affiche (ET NON PAS REDIRIGER) vers http://www.nomdedomaine.com/pokemon. Et j'aimerai faire cela sans devoir faire de sous-domaines particuliers mais utiliser *.nomdedomaine.com (n'importe quel sous-domaine non-assigné)

Mon nom de domaine est structuré ainsi sur mon serveur:

/nomdedomaine/
/nomdedomaine/www/

nomdedomaine.com est en A redirigé vers l'IP de mon serveur, assigné à /nomdedomaine/
http://www.nomdedomaine.com est en A redirigé vers l'IP de mon serveur, assigné à /nomdedomaine/www/
*.nomdedomaine.com est en A redirigé vers l'IP de mon serveur, assigné à /nomdedomaine/

Le fichier qui va afficher la page se trouve dans /nomdedomaine/

Je voudrais savoir si il y a un moyen, en PHP, de reprendre la valeur du sous-domaine ? (le moyen le plus simple donc). Mais même en ayant cette valeur, je ne vois pas comment faire en sorte que la page soit simplement affichée, car la personne quand elle cliquera sur la page d'accueil, j'aimerai que ça retourne sur http://www.nomdedomaine.com, donc pas question d'utiliser d'iframe (déjà que c'est déconseillé...).

J'aimerai que tout ça soit automatisé, et non pas devoir modifier un fichier à chaque nouveau sujet.

Pour schématiser:

http://www.nomdedomaine.com/pokemon est créé
La personne tape pokemon.nomdedomaine.com et voit affiché devant elle http://www.nomdedomaine.com/pokemon mais l'url est pokemon.nomdedomaine.com
Quand elle change de sujet en cliquant sur un lien (par exemple Harry Potter), elle est sur harrypotter.nomdedomaine.com et voit affiché http://www.nomdedomaine.com/harrypotter et l'url est harrypotter.nomdedomaine.com

Et tout cela en utilisant *.nomdedomaine.com

Mon idée me parait assez dingue et improbable à faire, mais j'aimerai tant que ça soit possible car je n'ai pas de sous-domaines illimités pour que ça puisse les créer automatiquement...

Merci pour vos réponses à venir qui j'espère, m'aideront ! :)

(Pokémon et Harry Potter ne sont que des exemples, ce ne sont pas les sujets à traiter :P)

ViPHP
xTG
ViPHP | 7331 Messages

22 août 2010, 09:26

Le soucis est que si comme tu le dis tu n'as pas de sous-domaines comment veux-tu que l'utilisateur puisse écrire http://sous_domaine.domaine.ext et être redirigé vers ton site ?
Je ne connais pas grand chose dans ce domaine mais cela me paraît impossible.

C'est comme de dire au facteur de se rendre à la résidence X à Paris. Bah oui mais dans quel quartier ? Car Paris c'est très grand !
Bah avec internet c'est pareil. :)

Petit nouveau ! | 5 Messages

22 août 2010, 09:34

En fait, *.nomdedomaine.com est assigné et le * (joker) signifie "n'importe quoi", *.nomdedomaine.com s'applique aux sous-domaines NON ASSIGNÉ je vais te donner un exemple avec un de mes sites (encore en construction) pour que tu vois comment il fonctionne

http://www.rpgpoint.com <= Le site principal
http://forum.rpgpoint.com <= Le forum qui a été assigné
http://jaimelesnoixdecoco.rpgpoint.com <= Sous-domaine non assigné, il est prit en charge par *.nomdedomaine.com qui va le rediriger vers http://www.rpgpoint.com/

Je sais que tu ne peux rien contre mon problème mais je te montre néanmoins comment ça fonctionne, mais c'est utile à savoir :P

Mammouth du PHP | 661 Messages

22 août 2010, 11:41

salut, places ça sur ton "index.php" ::
$d = explode('.', $_SERVER['SERVER_NAME']) ;
if(count($d)==3 && strtoupper($d[0]) != 'WWW'){
    define('S_DOMAINE', $d[0]);
    echo "nous sommes sur le sous domaine !... " ;
} else {
    define('S_DOMAINE', "www");
    echo "nous sommes sur le domaine !... " ;
}

@+

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

22 août 2010, 13:16

Bonjour,

Il faut que tu fasse de l'url-rewriting en mettant une condition sur le sous-domaine.

Tu trouveras un exemple de ce que tu cherches à faire ici : http://www.webmasterworld.com/apache/3163397.htm
Quand tout le reste a échoué, lisez le mode d'emploi...

Petit nouveau ! | 5 Messages

22 août 2010, 13:33

Ton script conduit à afficher un texte dans certaines conditions. J'aimerai juste avoir le script qui retire le sous-domaine (il est sûrement dans ce que tu as noté mais je n'ai pas de réel expérience avec $_SERVER, à part pour faire un site multilingue.

J'aimerai faire quelque chose du genre :

$sousdomaine = "LE SCRIPT QUI VA RECHERCHER LA VALEUR DU SOUS DOMAINE";

header(Location:'http://www.nomdedomaine.com/". $sousdomaine ."');

(header sera sans doute remplacer un autre truc pour subvenir à mes besoins)

Puis pour @rthur, ton script fait pareil que mes configurations avec *.nomdedomaine.com mais avec .htaccess, ça revient au même crois-mois x)

Mammouth du PHP | 661 Messages

22 août 2010, 13:59

Ton script conduit à afficher un texte dans certaines conditions. J'aimerai juste avoir le script qui retire le sous-domaine (il est sûrement dans ce que tu as noté mais je n'ai pas de réel expérience avec $_SERVER, à part pour faire un site multilingue.

J'aimerai faire quelque chose du genre :

$sousdomaine = "LE SCRIPT QUI VA RECHERCHER LA VALEUR DU SOUS DOMAINE";

header(Location:'http://www.nomdedomaine.com/". $sousdomaine ."');

(header sera sans doute remplacer un autre truc pour subvenir à mes besoins)
donc si c'est ce que tu veux !...
$d = explode('.', $_SERVER['SERVER_NAME']) ;
$sousdomaine = (count($d)==3 && strtoupper($d[0]) != 'WWW') ? $d[0] : "";
reste à toi d'en faire ce que tu veux de cette variable !
Puis pour @rthur, ton script fait pareil que mes configurations avec *.nomdedomaine.com mais avec .htaccess, ça revient au même crois-mois x)
nan !... il ne fais pas "pareil" !... il t'évites de toutes les configurer à la main dans ton interface d'admin !... là tu les configures en automatique et ça se fait tout seul et peux importe que ce tu mets en sous-domaine, ça pointera sur le dossier correspondant !... actuellement ton routage *.domaine ne fait que router vers le dossier principal de ton domaine, mais pas vers le dossier du nom correspondant au sous domaine demandé !

Petit nouveau ! | 5 Messages

22 août 2010, 15:04

La configuration est déjà faite et elle ne redirige pas vers le site principal (qui est dans /nomdedomaine/www/), elle redirige vers /nomdedomaine/ qui contient un fichier qui redirige vers l'adresse principal, mais avec la valeur du sous domaine, je pourrai faire en sorte qu'il redirige vers l'emplacement en question, d'ailleurs ce n'est pas des dossiers, ce sont des articles abrégés en .htaccess. Et j'aimerai faire en sorte que l'url reste pareil mais qu'il affiche la page y correspondant, comme un CNAME (assigne le sous domaine à une adresse et non une IP)

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

22 août 2010, 17:36

Si tu veux que dans la barre d'adresse du navigateur de tes visiteurs il y ait toujours indiqué l'adresse avec le sous-domaine comme http://jaimelesnoixdecoco.rpgpoint.com/ mais que cela affiche une page spécifique sur les noix de coco alors tu n'as pas d'autres choix que d'utiliser de l'url-rewriting et le lien que je t'ai donné est le bon.

Si ce n'est pas ce que tu veux obtenir, alors c'est que j'ai mal compris ce que tu recherches...
Quand tout le reste a échoué, lisez le mode d'emploi...