Bonjour à tous,

Je galère depuis des jours sur ce problème. Grâce à de multiples recherches, j'ai avancé petit à petit, mais là, je suis vraiment bloqué. Je retombe toujours sur les mêmes infos. Impossible de récupérer les sous domaine.

Je voudrais pouvoir générer dynamiquement des sous domaines, de manière à ce que chaque utilisateur puisse profiter de sa propre section sous la forme :
http://nom-utilisateur.mon-site.com

Je voudrais par conséquent que l'url ci-dessus soit toujours affichée dans la barre d'url des navigateurs, mais que je puisse récupérer le sous domaine comme une variable, à passer à la page index.php comme ceci :
http://www.mon-site/com/index.php?so...om_utilisateur

Je dispose d'un serveur Privé Virtuel CentOS chez 1&1 et voici les configurations que j'ai effectué jusqu'à présent.

Page index.php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
$sousdomaine = !isset($_GET["sousdomaine"]) ? "" : $_GET["sousdomaine"];
if(!empty($sousdomaine)){
  echo "<p>Bienvenue sur la page ".$sousdomaine."</p>";
}
Fichier .htaccess :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
RewriteCond %{HTTP_HOST} !^www\.mon-site\.com$ [NC]
RewriteCond %{HTTP_HOST} ^([a-z0-9_-]+)\.mon-site\.com$ [NC]
RewriteRule ^(.*) index.php?sousdomaine=%1 [NC,L]
Quand je commente la première ligne du .htaccess et que je tape l'url
http://www.mon-site.com, je récupère correctement www dans la variable $sousdomaine

J'ai en plus un sous domaine, créé dans Plesk, qui dispose donc d'un sous-répertoire accessible via FTP dans lequel j'héberge un petit site web.

Je précise que mon paramétrage DNS est le suivant (je ne note pas toutes les lignes)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
www.mon-site.com              CNAME      mon-site.com
mon-site.com                  A          IP du serveur
sous-domaine1.mon-site.com    A          IP du serveur
*.mon-site.com                A          IP du serveur
Je pense que ça bloque du coté du VirtualHost qui ne semble pas du tout pris en compte.

Via SSH, j'ai exploré le serveur, notamment dans le chemin suivant :
var/www/vhosts/mon-site.com/conf/
dans lequel se trouve un fichier httpd.conf. Des lignes au début du fichier indiquent qu'il ne faut surtout pas le modifier (donc, je ne l'ai pas modifié) Toute modification doit être faite dans le fichier vhost.conf du même répertoire, mais le problème, c'est que ce fichier n'existait pas.

J'ai donc créé ce fichier dans lequel j'ai placé les lignes suivantes, mais ce dernier semble ne pas être pris en compte, malgré un redémarrage Apache...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
NameVirtualHost *:80
 
<VirtualHost *:80>
	ServerName mon-site.com:80
	ServerAlias *.mon-site.com
	DocumentRoot /var/www/vhosts/mon-site.com/httpdocs
</VirtualHost>
Pour les 2 premières ligne, j'ai aussi testé en remplaçant l'étoile par l'IP du serveur, mais sans succès.

J'ai l'impression d'être proche de la solution (enfin j'espère), mais qu'est ce qu'il manque à votre avis ? Une erreur dans l'existant ? Un manque ? Merci par avance de votre aide.