Wildcard DNS (DNS curinga, tradução livre) é uma forma de poder manipular subdomíos (ou domínios, por que não?) de forma dinâmica. Ou melhor, segundo a wikipédia, é um registro em uma zona DNS que irá responder por nomes de domínios que não existem. Este é o método usado pelo wordpress-mu para criar novos blogs em subdomínios sem alterar a configuração do apache. Você pode ver isto em ação na página do wordpress.com, blogger ou o antigo site foipreso.com (lembrava deste?).
Se você tem acesso às configurações de um servidor DNS como o BIND, pode adicionar uma entrada wildcard em seu domínio — Como explicado no post do Matt Mullenweg. Caso contrário, se você utiliza os seviços de uma empresa de hospedagem que disponibiliza o cPanel, acesse o cPanel de sua conta, clique na opção “subdomínios” em seu painel e adicione um novo subdomínio com valor “*”. Ou seja, o endereço completo será: *.seudominio.com.
O caminho (valor em document root) que você configurar para seu subdomínio irá tratar suas requisições com o wildcard. Para testar, crie um arquivo index.php (se estiver usando PHP no seu servidor) no document root do subdomínio criado, com o seguinte conteúdo:
<?php print_r($_SERVER);
Digite no seu browser algo como: umnomequalquer.seudominio.com. Dentre os resultados, você verá que a chave SERVER_NAME terá o valor completo do endereço que você digitou. Se tudo deu certo, seu subdomínio está pronto para usar. Com ele você pode apresentar a página do usuário de acordo com a URL, chamar conteúdo do banco de dados, fazer a chamadas a métodos do seu framework , fazer uma página 404 interna, etc. As possibilidades são infinitas.
04/11/2009 – Atualização: Como comentado pelo Victor Teixeira, não é necessário editar as zonas de DNS no WHM. Isto é feito automaticamente quando um novo subdomínio é adicionado. Removi a parte do post referente a isto. Obrigado Victor 🙂
Na verdade você não precisa fazer a configuração no gerenciamento de dns do whm.
Basta adicionar * como subdominio no cpanel, a configuração do dns é feita automaticamente pelo cpanel.
Já fiz isso diversas vezes para o wordpress mu e funciona sem problemas.
Obrigado Victor
Realmente não sabia que não precisava desse passo.
Vou testar e atualizar o post.
Deixo aqui apenas meu agradecimento. Eu estava procurando informações sobre esse Wildcard, e foi aqui que encontrei uma solução mais simples, e ainda em português. Muito obrigado!
Muito obrigado pelo Post, wildcard DNS sempre foi um mistério pra mim, nunca tinha conseguido fazer funcionar, essa dica do * me deixou até frustrado, valeu.
Olá Renan,
Estou com dificuldades de fazer funcionar o multisites neste meu dominio. Na verdade habilitei a faz 2 dias esta função, tá instalado normalmente. O problema é que os subdominios não aparecem nada. Já tentei criar manualmente cada subdominio, tentei fazer a configuração do Cpanel (*.subdominio,com) e nada funcionou.
Fiz um teste com subdominio criado manualmente no Cpanel e outro via (*.subdominio.com).
– Criado pelo metodo (*.subdominios): http://produtosesportivos.produtosparaemagrecer.com/
– Criado pelo metodo manual Cpanel: http://videos.produtosparaemagrecer.com/
Alguém pode me ajudar e dizer o que poderá estar faltando? Obrigado!
Também estou tentando configurar o wildcard DNS para meu domínio e não está funcionando. Há mais algum procedimento que devo fazer? Fiz exatamente como está descrito no artigo acima… Obrigado!
Você pode testar se o Wildcard existe na configuração do DNS. Dê uma olhada neste link: http://serverfault.com/questions/160716/how-can-i-determine-whether-xyz-example-com-uses-a-wildcard-a-record
Se não estiver lá, entre em contato com sua empresa de hospedagem.
Há muito tempo procurava uma solução para isso. Essa dica do wildcard foi a chave que faltava
segue modelo de codigo para o htaccess funcionou direitinho
tanto assim: subdominio.seusite.com como seusite.com/subdominio/
grande abraço
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/[^.]+[^/]$
RewriteRule ^(.*)$ http://www.seusite.com/$1/ [R=301,L]
RewriteBase /
RewriteCond %{HTTP_HOST} !www.seusite.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).seusite.com [NC]
RewriteRule (.*) index.php?user=%2 [L]
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)/$ index.php?user=$1 [L]
Boa Wanderlei, gostei da dica.
Só tenho um receio: Será que o googlebot não vai considerar isto conteúdo duplicado e diminuir a relevância?
Talvez seja bom usar canonical url.
Boa noite,
Preciso de uma ajuda.
Estou tenho um Main com um domínio “empresa”.net
Em outros servidores tenho vários outros subdomínios sub1.”empresa”.net
Preciso instalar o wildcard SSL para funcionar em todos os subdomínios nos outros servidores também.
Como faço?
Olá Luiz
Não me parece ser um caso para um wildcard. Não seria melhor cadastrar manualmente um subdomínio por servidor?
É necessário ter um certificado para poder usar este recurso ?
pois eu crie igual o exemplo mas não funciona . Obrigado
http://wiki.locaweb.com.br/pt-br/O_que_%C3%A9_WildCard_e_como_obt%C3%AA-lo%3F
Maicon, este link fala sobre o certificado necessário para usar um subdomínio qualquer usando HTTPS (Fora do escopo deste post).
Eu não sei se a Locaweb usa o cPanel, mas se o processo descrito aqui não funcionar, sugiro que você entre em contato com eles.