2010-02-03 18 views
9

Cuando uno se registra en Blogger o WordPress, uno obtiene su propio subdominio que funciona instantáneamente. ¿Cómo puedo lograr lo mismo, dado que tengo mi propio servidor VPS/VDS/Dedicated?Creación de subdominios sobre la marcha

+0

Maravillosa pregunta. Nunca supe que esto es posible. –

Respuesta

10

En pocas palabras:

  1. crear un dominio comodín en DNS (es decir, la resolución de whatever.yourdomain.example devuelve su dirección IP),
  2. crear una máquina virtual predeterminada en el servidor web y
  3. revisa la URL en tu aplicación.

Cómo hacer esto depende de la tecnología que utilice. Te voy a dar algunos ejemplos:

  1. cómo configurar un dominio comodín in BIND y in Windows Server DNS.
  2. Para crear un host virtual predeterminado, solo necesita crear un servidor web sin una entrada de host en IIS. En Apache, el primer host virtual listado en el archivo de configuración se convierte en el host predeterminado.
  3. Aquí, se puede o bien (a) reescribir el URL en función del dominio (es decir, convertir el subdominio en un parámetro en la URL, example for ASP.NET, ejemplos para Apache con mod_rewrite: Link1, Link2), o (b) sólo tienen un vistazo a la parte del host de la URL (por ejemplo, Request.Url en ASP.NET).

La adición mediante bortzmeyer (lo siento por sobrescribir su edición, había un conflicto de edición):

La sintaxis para un comodín, en el formato de archivo de zona DNS habitual (que se describe en el RFC 1035 y puesto en práctica en BIND, NSD y puede ser otros) es con una estrella:

* IN A 198.51.100.3 
+0

+1 Gracias Heinzi. ¿Podría por favor elaborar más y dar ejemplos? Apreciaría mucho tu ayuda! – Viet

+1

@Viet: He extendido la respuesta. Si necesita más información (por ejemplo, sobre alguna tecnología específica), solo pregunte. – Heinzi

+0

+1 Gracias Heinzi & bortzmeyer !! ¿Puedo tener el número 3. para ser aclarado para Apache 2.2? ¡Muchas gracias! – Viet

2

Para aquellos, que son legos a todo esto a y CNAME cosas, hay una solución muy simple y funciona con Alojamiento compartido:

Simplemente vaya a su cpanel y añadir un subdominio con *

Por ejemplo, si su dominio se llama abc.com, puede agregar * y seleccionar/entrar en el subdirectorio como una raíz de esto. Cuando guarde, agregará * .abc.com en su tabla de subdominios y agregará todos los registros A necesarios a su archivo de zona.

Cuando pulse "any" .abc.com en su navegador, el servidor lo llevará a la ubicación especificada (el subdirectorio que usted mencionó).

Además, para manejar todo (cualquier) subdominio para una redirección específica, puede usar un .htaccess en ese subdirectorio para manejar todas las solicitudes entrantes de subdominios.

Un ejemplo .htaccess funcionamiento es el siguiente:

<IfModule mod_rewrite.c> 

RewriteEngine On 
RewriteBase/

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

</IfModule> 

El handler.php (código de abajo) simplemente muestra un mensaje de bienvenida con el nombre de subdominio y toda la cadena de consulta en la URL:

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

Espero que esto ayude.

+0

+1 gracias Waquas. Intentará :) – Viet

Cuestiones relacionadas