DNS e subdominios dinámicos con comodín

Durante todo o meu tempo libre (ha!), Estiven traballando para envolver o Mapa Ilimitado de Aves Salvaxes aplicación cunha aplicación empresarial que permitirá á xente deseñar o seu propio localizador de tendas. Desenvolver o meu propio software como solución de servizo foi un dos meus obxectivos durante bastantes anos e esta é unha gran oportunidade.

No estante hai dúas características clave que quería introducir na aplicación e que están a ser un enorme desafío, así que quería discutilas no caso de que algunha vez esteas a facer o mesmo. Ambas funcións son comúns nas aplicacións, pero descubrín que, aínda que son comúns, moitos provedores de hospedaxe en realidade non as admiten.

O meu obxectivo é construír unha aplicación de autoservizo onde o cliente poida configurar o seu propio subdominio (http://subdominio.dominioaplicación.com), ou incluso aplicar o seu propio subdominio (http://subdominio.yourdomain.com). Para que sexa de autoservizo, require a capacidade de programar a solución, pero accede a algúns ficheiros de configuración do servidor de nomes de dominio que están fóra de límites coa maioría das contas de hospedaxe. O problema é a compatibilidade con DNS comodín, é dicir, para poder dirixir calquera subdominio ao dominio do servidor. Noutras palabras, test.domain.com ou www.domain.com ou any.domain.com apuntan ao mesmo lugar. Non importa o que escribas: funcionará.

Fóra das aplicacións, esta é realmente unha característica bastante agradable habilitada - incluso no teu blog. Permitiría a calquera escribir nada.yourdomain.com e traeos a yourdomain.com. Sorprenderíache de cantas ligazóns malas apuntan ao teu blog ou sitio web. Podería faltar o tráfico se a persoa non recoñece que é un erro na ligazón.

O proceso funciona reescribindo o subdominio nunha cadea de consulta antes de que a páxina sexa realmente representada polo servidor web ... polo que subdomain.domain.com realmente é interpretado polos servidores Apache como domain.com?what=subdomain mediante o uso dun ficheiro htaccess:

# Extrae a parte do subdominio de domain.com
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \. Yourdomain \ .com $ [NC]
 
# Comprobe que a parte do subdominio non é www e ftp e mail
RewriteCond% 1! ^ (Www | ftp | mail) $ [NC]
 
# Redirixir todas as solicitudes a un script php pasando como argumento ao subdominio
RewriteRule ^. * $ Http://www.yourdomain.com/%1 [R, L]

Hai algunha información adicional sobre os ficheiros nos que debes editar V-nessa.net. Ten en conta que é posible que os ficheiros non se atopen onde se especifique, dependendo do teu provedor de hospedaxe. O meu provedor de hospedaxe realmente apoia a intromisión da xente, pero advirten que facelo pode anular a asistencia ao cliente. Ademais de "piratear baixo o seu propio risco", tampouco chegarán para axudarche.

Vou traballar no desenvolvemento do resto da aplicación en lugar de colgarme no desenvolvemento do subdominio. En realidade vou dar CakePHP un tiro para empregalo como marco.

Última nota, son un pouco pirata nestas cousas. Estou bendito cos equipos de desenvolvemento no meu traballo para descubrir isto. Pola miña conta, son un pouco perigoso. Agradécese calquera comentario e axuda.

3 Comentarios

  1. 1

    Moi chulo. En realidade, usei o servidor de nomes do meu rexistrador con DNS comodín cando estaba con SliceHost e tiña Apache configurado para servir subdominios non configurados dos ficheiros de dominios normais.

    Estaba realmente intrigado de ver o marco CakePHP, pero a túa ligazón está morta 🙂

    CakePHP pódese atopar en http://cakephp.ORG

  2. 3

¿Que pensas?

Este sitio usa Akismet para reducir o spam. Aprende a procesar os teus datos de comentarios.