2010-02-03 6 views
9

Lorsque l'on s'inscrit à Blogger ou à WordPress, on obtient son propre sous-domaine qui fonctionne instantanément. Comment puis-je obtenir la même chose, étant donné que j'ai mon propre serveur VPS/VDS/Dédié?Créer des sous-domaines à la volée

+0

Question merveilleuse. Je n'ai jamais su que c'était possible. –

Répondre

10

En bref:

  1. Créer un domaine générique dans DNS (par exemple, la résolution whatever.yourdomain.example renvoie votre adresse IP),
  2. créer un hôte virtuel par défaut dans votre serveur web et
  3. vérifiez l'URL dans votre application.

Comment faire cela dépend de la technologie que vous utilisez. Permettez-moi de vous donner quelques exemples:

  1. Comment mettre en place un domaine générique in BIND et in Windows Server DNS.
  2. Pour créer un hôte virtuel par défaut, il suffit de créer un serveur Web sans entrée d'hôte dans IIS. Dans Apache, le premier hôte virtuel répertorié dans le fichier de configuration devient l'hôte par défaut.
  3. Ici, vous pouvez (a) réécrire l'URL en fonction du domaine (par exemple, la conversion du sous-domaine en un paramètre dans l'URL, example for ASP.NET, des exemples pour Apache avec mod_rewrite: Link1, Link2) ou (b) juste avoir un aperçu de la partie hôte de l'URL (par exemple Request.Url dans ASP.NET).

Addition par bortzmeyer (désolé pour écraser vos modifications, il y avait un conflit d'édition):

La syntaxe pour un caractère générique, dans le format de fichier de zone DNS habituelle (décrit dans la RFC 1035 et mis en œuvre dans BIND, NSD et peut être d'autres) est une étoile:

* IN A 198.51.100.3 
+0

+1 Merci Heinzi. Pourriez-vous élaborer et donner des exemples? J'apprécierais beaucoup votre aide! – Viet

+1

@Viet: J'ai étendu la réponse. Si vous avez besoin de plus d'informations (par exemple sur une technologie spécifique), il suffit de demander. – Heinzi

+0

+1 Merci Heinzi & bortzmeyer !! Puis-je avoir le numéro 3. à clarifier pour Apache 2.2? Merci beaucoup! – Viet

2

Pour ceux qui sont laïcs à tout cela a et CNAME choses, il y a une solution très simple et fonctionne avec hébergement partagé:

Il suffit d'aller à votre cPanel et ajouter un sous-domaine *

Par exemple, si votre domaine est appelé abc.com, vous pouvez ajouter * et sélectionnez/entrer dans le sous-répertoire comme racine à ce sujet. Lorsque vous enregistrez, il ajoutera * .abc.com dans votre table de sous-domaines et ajoutera tous les enregistrements A nécessaires à votre fichier de zone.

Lorsque vous cliquez sur "any" .abc.com dans votre navigateur, le serveur vous amène à l'emplacement spécifié (le sous-répertoire que vous avez mentionné).

En outre, pour gérer tout (tout) sous-domaine pour une redirection spécifique, vous pouvez utiliser un fichier .htaccess dans ce sous-répertoire pour gérer toutes les demandes de sous-domaine entrantes.

Un exemple .htaccess de travail est la suivante:

<IfModule mod_rewrite.c> 

RewriteEngine On 
RewriteBase/

RewriteCond %{HTTP_HOST} ^(^.*)\.abc\.com 
RewriteRule (.*) handler.php?user=%1&%{QUERY_STRING} 

</IfModule> 

Le handler.php (code ci-dessous) affiche simplement un message de bienvenue avec le nom sous-domaine et toutes les chaîne de requête dans l'URL:

$user = $_REQUEST["user"]; 
print_r($_REQUEST); 
echo "Welcome {$user}"; 

Espérons que cela aide.

+0

+1 merci Waquas. J'essaierai :) – Viet

Questions connexes