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 :
Fichier .htaccess :
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>"; }
Quand je commente la première ligne du .htaccess et que je tape l'url
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]
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)
Je pense que ça bloque du coté du VirtualHost qui ne semble pas du tout pris en compte.
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
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...
Pour les 2 premières ligne, j'ai aussi testé en remplaçant l'étoile par l'IP du serveur, mais sans succès.
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>
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.
Partager