Vous pouvez utiliser la réécriture d'URL par exemple via Apache mod_rewrite pour résoudre ce problème. Pour des raisons de sécurité et de pratique, cependant, je ne recommande pas d'utiliser quelque chose comme username.domain.com
à moins de filtrer soigneusement les noms d'utilisateur comme www
. Mieux utiliser username.u.domain.com
ou quelque chose de similaire.
Voici un exemple de règles de réécriture utilisant la redirection HTTP.
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.domain\.com$
RewriteCond %{HTTP_HOST} ^([^.]+)\.u\.domain\.com$
RewriteRule .* http://domain.com/user/%1 [R,L]
Sinon, vous pouvez également utiliser un caractère générique DNS/catch-all entrée et extraire le nom d'utilisateur partie avant votre domaine en utilisant une expression régulière, par exemple
function getUserNameFromHost() {
if (!preg_match('`^(\w+)\.u\.domain\.com$`', $_SERVER['HTTP_HOST'], $matches))
return false;
else
return $matches[1];
}
Je ne comprends pas. Si vous créez un sous-lien, c'est presque comme si vous aviez un site Web distinct auquel vous pouvez ajouter des fonctionnalités? – AAA
chose est que vous avez tous les outils, vous devez comprendre comment les utiliser au mieux pour votre propre situation. S'il y a des différences physiques dans les fichiers servis sur chaque sous-domaine, vous devrez copier votre ensemble de fichiers de base dans le nouveau répertoire d'utilisateur lorsqu'un utilisateur s'inscrit. Si ces changements sont comme des "paramètres", vous pouvez enregistrer ces variations dans la base de données et faire les ajustements aux pages en fonction des paramètres utilisateur et vous n'aurez pas à créer un répertoire distinct pour chaque utilisateur. –