IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Sous domaines "Dynamiques"


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 14
    Par défaut Sous domaines "Dynamiques"
    Bonjour,
    Voici mon problème : j'ai reçu une demande de modification d'un site recemment en ce qui concerne l'accès au profils des utilisateurs.

    En effet pour le moment l'url permettant ceci était du type (pour XX un id utilisateur):
    monsite.dev/profile.php?id=XX
    On me demande pour des raisons évidentes de transformer cela en :
    XX.monsite.dev

    J'ai a peu près compris comment créer manuellement ces sous domaines , mais il me parait impensable qu'a chaque création/suppression d'utilisateur le fichier hosts doive être modifié ! Je crois aussi avoir compris que la solution serait dans l'url rewriting, mais là , je nage dans le flou !

    Merci d'avance de votre aide,
    César.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 117
    Par défaut
    Salut,
    Le plus simple est de faire en sorte que ton domaine récupere toutes les connexion entrantes sur *.monsite.dev puis de faire de la réécriture d'URL pour rediriger XXX.monsite.dev vers monsite.dev/profile.php?id=XXX

    Tu devrais avoir quelque chose comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <VirtualHost tonIP:80>
    ServerName www.monsite.dev
    ServerAlias *.monsite.dev
    RewriteEngine on
    RewriteCond %{http_host} .
    RewriteCond %{http_host} !^www.monsite.dev [NC]
    RewriteCond %{http_host} ^([^.]+)\.monsite.dev [NC]
    RewriteRule ^(.*) /home/monsite.dev/www/profile.php?id=%1 [QSA,L]
     
    </VirtualHost>

  3. #3
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Je complète la réponse de OcterA : ce qu'il manque c'est la configuration DNS adéquate. Cf. une discussion récente sur le même besoin.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 14
    Par défaut
    Merci de vos réponses si rapides !

    Je dois t'avouer OcterA que j'ai recopié ton bloc Vhost sans le comprendre à 100% (comme je le disais , la partie url rewriting est très floue pour moi, mais j'ai quand même essayé de l'adapter a mon cas (je bosse en local via wamp sur pc ... "monprojet.dev" ou "monsite.dev" sont simplement des alias de "http://localhost/cv")

    J'ai donc fait un test de cette nouvelle config, et j'obtiens une jolie 404error dès que j'ajoute le XX de XX.monprojet.dev

    Voici mon bloc VHost modifié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <VirtualHost *:80>
    ServerName monprojet.dev
    ServerAlias *.monprojet.dev
    RewriteEngine on
    RewriteCond %{http_host} .
    RewriteCond %{http_host} !^monprojet.dev [NC]
    RewriteCond %{http_host} ^([^.]+)\.monprojet.dev [NC]
    RewriteRule ^(.*) /cv/profile.php?id=%1 [QSA,L]
    </VirtualHost>
    J'ajoute au cas ou qu'après avoir "bidouillé" tout ca , j'ai verifié le tout via httpd -S , et aucun souci ne m'a été signalé.

    Citation Envoyé par _Mac_ Voir le message
    Je complète la réponse de OcterA : ce qu'il manque c'est la configuration DNS adéquate. Cf. une discussion récente sur le même besoin.
    Mon problème vient surement de ce que tu essaie de m’expliquer, mais sur la discussion que tu cites, mais la finalité de celle ci a été un changement de solution, il a abandonné les sous domaines. Ce que je ne peux pas faire. Suis-je obligé de configurer un DNS sur ma machine pour des essais en local ?! Si oui , comment faire ?

    Bien à vous,
    César .

  5. #5
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    A mon avis, ce qu'il manque c'est la directive DocumentRoot : quand tu demandes xxx... Apache essaie de trouver un fichier /cv/profile.php. Si aucun document root n'est défini ou si ce fichier cv/profile.php n'existe pas dans le document qu'il a deviné, ou si ce fichier n'existe pas en chemin absolu (sous Unix), tu tombes sur une erreur 404.

    Je suggère donc de mettre une directive DocumentRoot et si l'erreur persiste d'aller consulter le fichier d'erreur d'Apache error_log pour voir le chemin calculé par Apache et qui part en erreur 404.


    Citation Envoyé par superccman Voir le message
    Mon problème vient surement de ce que tu essaie de m’expliquer, mais sur la discussion que tu cites, mais la finalité de celle ci a été un changement de solution, il a abandonné les sous domaines.
    Le but du lien n'était pas de te montrer une solution mais une explication de ce que les sous-domaines dynamiques impliquent.

    Citation Envoyé par superccman Voir le message
    Suis-je obligé de configurer un DNS sur ma machine pour des essais en local ?! Si oui , comment faire ?
    Non, la modification du fichier etc/hosts suffit.

Discussions similaires

  1. Sous domaine IP dynamique
    Par Général03 dans le forum Réseau
    Réponses: 2
    Dernier message: 30/03/2011, 21h54
  2. Sous-domaines virtuels dynamiques
    Par Benzz dans le forum Apache
    Réponses: 5
    Dernier message: 25/01/2011, 18h41
  3. [xsl]simuler le mecanisme OO de "liaison dynamique"
    Par philemon_siclone dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 19/12/2003, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo