2010-02-03 7 views
9

Quando si registra per Blogger o WordPress, si ottiene il proprio sottodominio che funziona all'istante. Come posso ottenere lo stesso, dato che ho il mio server VPS/VDS/Dedicato?Creazione di sottodomini al volo

+0

Bellissima domanda. Non ho mai saputo che questo è possibile. –

risposta

10

In poche parole:

  1. creare un dominio con caratteri jolly nel DNS (ad esempio, la risoluzione whatever.yourdomain.example restituisce il vostro IP),
  2. creare un host virtuale di default nel vostro server web e
  3. controlla l'URL nella tua applicazione.

Come fare ciò dipende dalla tecnologia utilizzata. Permettetemi di darvi alcuni esempi:

  1. Come impostare un dominio jolly in BIND e in Windows Server DNS.
  2. per creare un host virtuale predefinito, è sufficiente creare un server web senza una voce di host in IIS. In Apache, il primo host virtuale elencato nel file di configurazione diventa l'host predefinito.
  3. Qui, è possibile (a) riscrivere l'URL in base al dominio (ad esempio, la conversione del sottodominio in un parametro nell'URL, example for ASP.NET, esempi per Apache con mod_rewrite: Link1, Link2) o (b) solo avere un'occhiata alla parte host dell'URL (es. Request.Url in ASP.NET).

Addition da bortzmeyer (spiacente per sovrascrivere la tua modifica, v'è stato un conflitto di modifica):

La sintassi per un jolly, nel formato di file solita zona DNS (descritto nella RFC 1035 e implementato in BIND, NSD e possono essere altri) è con una stella:

* IN A 198.51.100.3 
+0

+1 Grazie Heinzi. Potresti per favore approfondire di più e dare esempi? Apprezzerei molto il tuo aiuto! – Viet

+1

@Viet: ho esteso la risposta. Se hai bisogno di maggiori informazioni (ad esempio su una tecnologia specifica), basta chiedere. – Heinzi

+0

+1 Grazie Heinzi e bortzmeyer !! Posso avere il numero 3 da chiarire per Apache 2.2? Grazie mille! – Viet

2

Per coloro, che sono laici a tutto questo e le cose un CNAME, c'è una soluzione molto semplice e funziona con Shared Hosting:

Basta andare al tuo cPanel e aggiungere un sottodominio *

Ad esempio, se il dominio è chiamato abc.com, è possibile aggiungere * e selezionare/inserire la sotto-directory come root per questo. Quando salvi, aggiungerà * .abc.com nella tabella dei sottodomini e aggiungerà tutti i record A necessari al tuo file di zona.

Quando si preme "qualsiasi" .abc.com nel browser, il server arriverà al percorso specificato (la sottodirectory di cui si è parlato).

Inoltre, per gestire tutti i sottodomini (eventuali) per il reindirizzamento specifico, è possibile utilizzare un .htaccess in tale sottodirectory per gestire tutte le richieste di sottodominio in entrata.

Un lavoro esempio .htaccess è la seguente:

<IfModule mod_rewrite.c> 

RewriteEngine On 
RewriteBase/

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

</IfModule> 

Il handler.php (codice qui sotto) semplicemente visualizza un messaggio di benvenuto con il nome di sottodominio e tutti stringa di query nell'URL:

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

Spero che questo aiuti.

+0

+1 grazie Waquas. Proverò :) – Viet