Como crio um subdomínio como http://user.mywebsite.com ? Preciso acessar o htaccess de alguma forma? É realmente possível criá-lo via código php puro ou preciso usar alguma linguagem externa do lado do servidor de scripts?
Para aqueles que responderam: Bem, então, devo perguntar à minha hospedagem se eles fornecem algum tipo de acesso ao DNS?
wildcard subdomains
isso pode ser alcançado em.htaccess
. Veja minha solução.Respostas:
Você está procurando criar um registro A personalizado .
Tenho certeza de que você pode usar caracteres curinga ao especificar registros A, o que permitiria fazer algo assim:
127.0.0.1 seria o endereço IP do seu servidor da web. O método de realmente adicionar o registro dependerá do seu host.
Fazer isso como http://mywebsite.com/user seria muito mais fácil de configurar, se for uma opção.
Em seguida, você pode adicionar um arquivo .htaccess semelhante a este:
Acima, os nomes de usuário são limitados aos caracteres az
A regra de reescrita para capturar o subdomínio ficaria assim:
fonte
O recurso que você procura é chamado de Subdomínios curinga . Ele permite que você não precise configurar o DNS para cada subdomínio e, em vez disso, use as regravações do apache para o redirecionamento. Você pode encontrar um bom tutorial aqui , mas existem milhares de tutoriais por aí. Aqui está o código necessário desse tutorial:
No entanto, como exigia o uso do VirtualHosts, ele deve ser definido no arquivo httpd.conf do servidor, em vez de em um .htaccess local.
fonte
Eu faço isso um pouco diferente de Mark. Passo o domínio inteiro e pego o subdomínio no php.
Isso ignora imagens e mapeia todo o resto para o meu arquivo index.php. Então, se eu for para
eu voltei
Então, no meu código index.php, apenas explodo meu nome de usuário do hostName. Isso me fornece bons e belos URLs de SEO.
fonte
Configuramos o DNS curinga como explicado acima. Portanto, o registro a é * .yourname.com
Todos os subdomínios estão indo para o mesmo local, mas o PHP trata cada subdomínio como uma conta diferente.
Usamos o seguinte código:
Esse código apenas define a
$account
variável da mesma forma que o subdomínio. Você pode recuperar os arquivos e outras informações com base na conta deles.Provavelmente, isso não é tão eficiente quanto as formas listadas acima, mas se você não tiver acesso ao BIND e / ou acesso .ht limitado, esse método funcionará (desde que seu host configure o curinga para você).
Na verdade, usamos esse método para conectar-se ao banco de dados de clientes de um aplicativo de comércio eletrônico para várias empresas, mas também pode funcionar para você.
fonte
Não se preocupe com arquivos .htaccess quando você pode usar a hospedagem virtual em massa do Apache .
A partir da documentação:
De certa forma, é o inverso da sua pergunta: todo 'subdomínio' é um usuário. Se o usuário não existir, você receberá um 404.
A única desvantagem é que a variável de ambiente
DOCUMENT_ROOT
não está configurada corretamente para o subdiretório usado , mas a raiz_do_processo padrão no htconfig.fonte
Solução PHP simples para subdomínios e aplicativos da web com vários domínios
Etapa 1. Forneça um registro DNS como "*" para domínios (ou domínio) que você servirá "example.org"
Etapa 2. Verifique a exclusividade dos logins ao registrar ou alterar o login do usuário. Além disso, evite pontos nesses logins.
Etapa 3. Em seguida, verifique a consulta
Esta solução pode servir domínios diferentes
Se você precisar dos mesmos nicks em domínios diferentes servidos de maneira diferente, pode ser necessário armazenar a escolha do usuário para o domínio ao registrar o login.
fonte
Você poderia [potencialmente] reescrever a URL, mas sim: você precisa controlar suas configurações de DNS para que, quando um usuário for adicionado, obtenha seu próprio subdomínio.
fonte
Além das alterações de configuração no servidor WWW para manipular o novo subdomínio, seu código precisaria fazer alterações nos registros DNS. Portanto, a menos que você esteja executando seu próprio BIND (ou similar), precisará descobrir como acessar a configuração do provedor de servidor de nomes. Se eles não oferecem algum tipo de API, isso pode ser complicado.
Atualização: sim, eu verificaria com seu registrador se eles também estão fornecendo o serviço de servidor de nomes (como costuma ser o caso). Eu nunca explorei essa opção antes, mas suspeito que a maioria dos registradores de consumidores não. Pesquisei no Google pelas APIs GoDaddy e DNS DNS da GoDaddy, mas não consegui encontrar nada, então acho que a melhor opção seria consultar a ajuda on-line com seu provedor e, se isso não responder à pergunta, aguarde. de sua equipe de suporte.
fonte
Primeiro, você precisa verificar se o servidor está configurado para permitir subdomínios curinga. Consegui isso no JustHost criando um sub-domínio chamado manualmente
*
. Também especifiquei uma pasta chamadasubdomains
como raiz do documento para subdomínios curinga. Adicione isso a um.htaccess
arquivo na sua pasta de subdomínios:Por fim, tudo o que você precisa fazer é criar uma pasta na pasta de subdomínios e colocar os arquivos do subdomínio nesse diretório.
fonte
Isso pode ser alcançado
.htaccess
desde que o servidor esteja configurado para permitir subdomínios curinga. Consegui isso no JustHost criando um sub-domínio nomeado manualmente*
e especificando uma pasta chamada subdomínios como a raiz do documento para subdomínios curinga. Adicione isso ao seu.htaccess
arquivo:Por fim, crie uma pasta para o seu subdomínio e coloque os arquivos dos subdomínios.
fonte
Eu só queria acrescentar que, se você usa o CloudFlare (gratuito), pode usar a API deles para gerenciar seu DNS com facilidade.
fonte
(1) .htaccess raiz
Este arquivo é redirecionado http://www.yourwebsite.com para http://yourwebsite.com para uso da página inicial. Todo o redirecionamento de subdomínio para yourwebsite_folder
(2) Pasta interna .htaccess
Este arquivo está reescrevendo os URLs do subdomínio.
http://yourwebsite.com/index.php?siteName=9lessons para http://9lessons.yourwebsite.com
Mais dicas sobre .htaccess: Tutorial e dicas sobre arquivos Htaccess.
index.php
Este arquivo contém código PHP simples, usando expressões regulares validando o valor do subdomínio.
Nenhuma pasta de subdomínio
Se você estiver usando o diretório raiz (htdocs / public_html) como um diretório do projeto, use este arquivo .htaccess a seguir.
fonte