Melhoria no codigo
[Finalizado Pelo Aluno]
Fala mestre, tudo bem?
fiz uns pequenos ajustes no TenantMiddleware e esta funcionando perfeitamente para o meu proposito, mas empaquei num detalhe e queria saber se tem como ajusta.
quando acesso a url principal myapp.com carrega a index e quando carrego client.myapp.com carrega a mesma index da url principal.
duas formaas resolveriam a questão:
1) quando acessar client.myapp.com queria que carregasse uma rota especifica. (não consegui fazer)
2) quando acessar client.myapp.com redireciona para outra rota. (Fica num loop infinito)
segue o codigo abaixo ... se tiver uma idea de como resolve agradeco.
Olá, Davson!
Tudo bem, e com você?
1) Carregar uma rota especifica seria redirecionar para um URL especifica?
2) Pode fazer um if para verificar se já não está na página (rota) desejada.
Compartilha o código full comigo, que te ajudo a resolver;
para o entendimento ficar mas facil, vamos pegar o codigo do middleware do proprio cursoo].
public function handle($request, Closure $next)
{
$managerT = app(ManagerTenant::class);
$tenant = $managerT->tenant();
if (!$tenant && $request->url() != route('tenant.404')) {
return redirect()->route('tenant.404');
} else if ($tenant) {
//aqui nesse trecho quando esta ok o subdominio carrega a welcome (principal)
// estou querendo ou redirecionar ou carregar uma tela personalizada para o subdominio
//não consegui fazer o redirecionamento, fiucou no loop infinito.
$this->setSession($tenant->only([
'name', 'uuid'
]));
}
return $next($request);
}
e outro fator e se tem como validar quando não há o subdomain. exemplo:
esta no cadastro na tabela tenant os subdomain e os host estão registrados
client1.myapp.com
client2.myapp.com
esse carregam normalmente, mas agora quando não esta nem cadastrado e nem visgistrado no host, exemplo: eu digito
client3.myapp.com da erro DNS_PROBE_FINISED_NXDOMAIN, tem como validar esse tipo de erro?
Você está usando exatamente este subdomínio?
client3.myapp.com
Quando digita *.myapp.com, está tentando buscar este subdomínio neste domínio "myadpp.com", para consegui manter a request local, precisa criar no arquivo de host a configuração que direciona dos subdomínios para local
127.0.0.1 client1.myapp.com
127.0.0.1 client2.myapp.com
127.0.0.1 client3.myapp.com
---
Sobre o loop infinito, como ficou o código? Preciso ver qual URL está direcionando, para conseguir te ajudar com mais precisão. Compartilha comigo o código full;
Opa, relação a pergunta original eu consigui resolver com uma logica no controller. VLW
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!