Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/07/2011, 13h02   #1
Invité de passage
 
Inscription : septembre 2009
Messages : 14
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 14
Points : 3
Points : 3
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.
superccman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2011, 15h19   #2
Membre habitué
 
Homme
Ingénieur développement logiciels
Inscription : avril 2007
Messages : 83
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
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 : 83
Points : 139
Points : 139
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 :
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>
__________________

Mon petit blog sans prétention : http://blog.octera.info/
OcterA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/07/2011, 17h46   #3
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 285
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 285
Points : 8 570
Points : 8 570
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.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 16h41   #4
Invité de passage
 
Inscription : septembre 2009
Messages : 14
Détails du profil
Informations forums :
Inscription : septembre 2009
Messages : 14
Points : 3
Points : 3
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 :
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 .
superccman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/07/2011, 22h07   #5
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 285
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 285
Points : 8 570
Points : 8 570
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.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h36.


 
 
 
 
Partenaires

Hébergement Web