Redirect subdomain.example.org para somethingelse.com oculto para o usuário?

5

Não tenho conhecimento de nada sobre C-NAMES , A-RECORDS , servidores de nomes e afins, portanto, tenha paciência comigo:

Eu quero redirecionar subdomain.example.org para outro domínio, somethingelse.com. Eu possuo os dois domínios e ambos os domínios são executados em hospedagem compartilhada. Ao criar um subdomínio, tudo o que posso fazer de imediato é fazer um redirecionamento HTTP (302, yuck!) Ou um redirecionamento de quadro.
Eu também posso definir os registros DNS em um host como o servidor de nomes, CNAME - mas eu teria idéia do que estou fazendo.

Por favor, explique-me como funciona o roteamento com servidores de nomes e como devo (mesmo que não seja possível com meu host atual) redirecionar subdomain.example.org para somethingelse.com com o URL visível para o usuário. em "subdomain.example.org"

    
por Dennis G 01.02.2011 / 20:46

4 respostas

5

Servidores de nomes não encaminham nada. Servidores de nomes respondem a solicitações de nomes e, eventualmente, retornam um IP. Registros CNAME retornam um nome, que é então procurado para obter o IP. A única coisa que você realmente pode fazer com seus registros DNS é certificar-se de que seu nome está definido retorna o endereço IP de um servidor que aceitará o tráfego e fará o que quiser.

Se você configurar o servidor da Web com configuração de hospedagem virtual baseada em nome e o nome principal desse host virtual for somethingelse.com , você poderá definir um nome adicional para esse host virtual subdomain.example.org . No DNS, você configura os registros para retornar o IP do host virtual que atende somethingelse.com .

O site hospedado em somethingelse.com deve usar os links relativos sempre que possível ou o usuário perceberá rapidamente que agora eles foram alternados para um domínio diferente.

... this is the crucial point. How would I do that?

Basta criar um registro A que associe um nome a um IP ou registro CNAME que aponte para um registro A que aponta para o IP desejado.

DNS não sabe nada. O que você está pedindo precisa ser tratado no servidor HTTP.

Otherwise I could direct my domain at google.com and make it look like it's my site?

Você pode apontar um registro DNS para qualquer endereço IP de sua preferência. No caso do HTTP, parte da solicitação inclui o nome do host que você está tentando acessar. Os servidores da web do Google podem optar por rejeitar com base no nome do host que faz parte da solicitação HTTP.

A configuração de um nome DNS para apontar para os servidores do Google é ainda suportada se você for um cliente do Google Apps. Há um procedimento que você mais segue para informar ao Google qual nome você usará para uma determinada página. O Google ajusta a configuração de acordo.

Se você estiver usando algum outro protocolo que não inclua o nome do host usado para acessar, o servidor não teria como saber o que é o quê. Você pode testar isso facilmente criando um registro como googledns.example.org IN A 8.8.8.8 e, em seguida, executando ping googledns.example.org , o servidor DNS do Google responderá ao ping. O nome que você usou para o comando ping não está incluído em uma resposta de eco ICMP, apenas o endereço IP.

    
por 01.02.2011 / 21:44
4

Por que você não pode simplesmente configurar um arquivo .htaccess (com um redirecionamento 301) na pasta em que está o subdiretório.

Por exemplo:

  1. Crie um arquivo .htaccess na pasta example.org/subdomain
  2. Configure seu subdomínio no Cpanel com base na pasta acima
  3. Edite esse novo arquivo .htaccess e adicione o seguinte código

    Redirecionar 301 / link

Com / sendo o diretório raiz do seu subdomínio e o link sendo onde você deseja que ele seja enviado.

Funciona para mim.

    
por 24.11.2012 / 10:07
1

A única solução completa é configurar um servidor web para escutar 'subdomain.example.org' e redirecioná-lo para 'somethingelse.com' com o redirecionamento HTTP.

Se você usar um cname para apontar 'subdomain.example.org' para 'somethingelse.com', o navegador da Web falará com o servidor da web para 'somethingelse.com', mas ele dirá "Estou procurando por subdomínio .example.org "para o qual pode não estar configurado. Se você puder configurar o servidor web para aceitar ambos os URLs, o cname funcionará bem.

    
por 01.02.2011 / 21:32
1

Os redirecionamentos de DNS usando o CNAMES não funcionam da maneira que você deseja em um host compartilhado.

Para nossos propósitos, suponha que você tenha um registro 'CNAME' para subdomain.example.org que aponte para somethingelse.com e um registro 'A' para somethingelse.com. Quando você visita subdomínio.example.com, um servidor DNS é consultado primeiro para determinar o endereço IP correto. O servidor DNS verá o registro CNAME e determinará recursivamente o endereço IP de algoelse.com, que será retornado à sua área de trabalho.

Seu navegador entrará em contato com esse endereço IP e solicitará subdomínio.exemplo.com. Na verdade, nem sequer sabe que existe alguma coisa do tipo.

Se você tivesse uma caixa dedicada, poderia fazer com que os CNAMEs funcionassem como você acha que deveriam, mas perderia a capacidade de usar um host virtual baseado em nome. Com vhosts baseados em IP, qualquer domínio que aponta para um determinado IP servirá o mesmo conteúdo.

Para fazer com que a barra de endereço do seu navegador diga subdomain.example.org enquanto a página está sendo veiculada a partir de algoelse.com, você pode reconsiderar o uso do redirecionamento de quadros fornecido pelo seu host.

Outra possibilidade, se o seu host fornecer mod_proxy, é configurar um proxy reverso na configuração virtualhost do subdomínio.example.com:

ProxyPass / http://somethingelse.com/
ProxyPassReverse / somethingelse.com/

Isso fará com que subdomain.example.com forneça o conteúdo de somethingelse.com e ainda relate subdomain.example.com como o domínio de origem.

    
por 02.02.2011 / 00:22