Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite,
Estou desenvolvimento um sistema, que já atende quase 30 empresas no estado e mais algumas estão pra aderir.
O sistema é acessado pelas empresas à partir dessa url:
http://xn--meudomnio-l5a.com.br/empresa1
http://xn--meudomnio-l5a.com.br/empresa2
http://xn--meudomnio-l5a.com.br/empresa3
Como fazer com que cria subdomínios automáticos através de formulário e que ai ficaria assim:
empresa1.meudomínio.com.br
apache
onde esta hospedado?
>
Em 09/06/2020 at 22:29, dutopfave disse:
apache
Em desenvolvimento ou em um Droplet "nuvem", você pode alterar o VirtualHost, colocando no ServerAlias, um * "coringa" como subdominio.
ServerAlias example.com *.example.com
<VirtualHost *:80>
ServerName domain.com
ServerAlias *.domain.com
VirtualDocumentRoot /var/www/public
</VirtualHost>
[http://httpd.apache.org/docs/2.4/vhosts/name-based.html](http://httpd.apache.org/docs/2.4/vhosts/name-based.html)
Se for usar em [hospedagens com CPanel](https://www.namecheap.com/support/knowledgebase/article.aspx/9191/29/how-to-create-a-wildcard-subdomain-in-cpanel)ou outro, você pode criar um subdomínio * apontando para a pasta necessária (você precisará especificar o caminho no campo Raiz do documento ) [outro detalhe é especificar o DNS](https://www.digitalocean.com/community/questions/how-do-i-set-up-wildcard-domain-on-my-droplet)
Obs.: No ambiente de desenvolvimento, especifique os hosts no arquivo local, no linux é em /etc/hosts, no Windows [C: » Windows » System32 » Drivers » etc](https://tecnoblog.net/199539/editar-arquivo-hosts-windows/)
PS.: O subdominio que você cadastrou no banco de dados, é só para encontrar o workspace daquele usuario, o restante ficará no automatico.Vamos lá
Você precisa criar uma arquitetura multytenacity, ou seja multi inquilinos.
vou explicar a lógica necessária para isso e você desenvolve se codigo.
1º crie uma tabela para seus clientes e identifique seus subdominios:
e la armazene, a id do cliente, o subdomino e o nome.
Ex: www.meusistema.com.br -> site matriz onde esta o sistema
Cliente A - > clienteA.meusistema.com.br -> endereço do cliente A
ClienteB - > clienteB.meusistema.com.br -> endereço do cliente B
2º Redirecione o subdominio dos clientes para a pasta da aplicação.
3º crie um arquivo pode chama-lo de tenacity.php e nele user a super global HTTP_HOST, ela ira lhe fornecer o endereço que quem esta acessando a pagina no momento.
$dominio = $_SERVER['HTTP_HOST'];
4º nesse mesmo arquivo faça um consulta ao banco de dado informando o domínio como clausula WHERE para que você possa achar o cliente.
com base na ID do cliente você fará a busca das informações dele na base de dados dele para que o sistema funcione normalmente.
inlcua esse arquivo na index
Apache ou Nginx?