1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[Duvida] .htaccess e subdomains

Discussão em 'Web Development' iniciada por _sanchaz_, 5 de Janeiro de 2008. (Respostas: 13; Visualizações: 2539)

  1. _sanchaz_

    _sanchaz_ Suspenso

    Boas,

    Estou aqui com uns problemas, tenho andado a pesquisar e nao encontro maneira de fazer o que pretendo se alguem me pudesse dar uma ajuda agradecia.

    O que quero fazer é o seguinte.
    Tenho varios utilizadores, cada um tem um subdominio que lhe pertence. ex: www.escrumbe.omeudominio.com
    Agr cada um tem uma pasta onde contem a sua pagina pessoal.
    essa esta situada em www.omeudominio.com/utilizadores/?
    ex: www.omeudominio.com/pasta/escrumbe
    Agr o subdominio não existe no cpanel.
    Mas quero com o htaccess fazer de maneira a que quando o escrumbe ou um amigo escreva www.escrumbe.omeudominio.com seja feito um redirect para www.omeudominio.com/pasta/escrumbe.
    Mas gostava que fosse de maneira a que quando a matumbina escrevesse www.matumbina.omeudominio.com fazia redirect para www.omeudominio.com/pasta/matumbina, ou seja que suporte multplie subdomains.
    Se fosse possivel tambem gostava que se a pasta em questao www.omeudominio.com/pasta/XXXX nao existesse ele fazia redirect para uma pasta www.omeudominio.com/pasta/default
    ex: www.XXXX.omeudominio.com mas a pasta www.omeudominio.com/pasta/XXXX nao existe logo ele faz redirect para www.omeudominio.com/pasta/default

    Se alguem me pudesse ajudar agradecia.

    Ate agora tenho isto

    Código:
    RewriteEngine on 
    RewriteCond %{HTTP_HOST} ^*\.omeudominio\.com [NC] 
    RewriteCond %{REQUEST_URI} !^/pasta
    RewriteRule (.*) /pasta/$1 [L]
    
    encontrei um codigo num forum e modifiquei mas presumo que esteja incorrecto uma vez que pelo que li * nao e um wild card para permitir qualquer valor antes de omeudominio.com

    e também tenho este código que acho que esta mas correcto mas mesmo assim nao funciona.

    Código:
    RewriteEngine on
    RewriteRule ([^/\.]+).?$omeudominio.com http://omeudominio.com/pasta/$1
    
     
  2. Santo38

    Santo38 Power Member

    O que tu queres é algo que se chama WildCard SubDomain, ou seja, o apache (o servidor web) responde a todos os teus subdominios mesmo que eles não estejam configurados no cpanel mandando o resultado para a raiz do teu site onde o .htaccess faz o resto do trabalho de redirecionamento.

    Isto exige manupulação da Zona de DNS do teu dominio e é algo que o teu HSP (Hosting Service Provider) tem de fazer, a não ser que tenhas acesso root.

    Os passos necessários para conseguires o que queres são:

    1 - Tens de adicionar a seguinte lina na tua zona de DNS:

    *.omeudominio.com. 14400 IN A XXX.XXX.XXX.XXX

    em que XXX.XXX.XXX.XXX é o teu IP

    2 - No ficheiro de configuração do Apache para o teu user/dominio tens de adicionar:

    <VirtualHost XXX.XXX.XXX.XXX>
    ServerAlias *.omeudominio.com
    ServerName www.omeudominio.com (já deve existir)
    RedirectMatch 301 (.*) http://omeudominio.com$1 (opcional)
    </VirtualHost>

    O redirect é opcional. O XXX.XXX.XXX.XXX é o teu IP.

    Depois é só salvar, fazer um restart ao Apache e esperar pela propagação de DNS.

    Espero que ajude!

    Saudações
     
    Última edição: 5 de Janeiro de 2008
  3. _sanchaz_

    _sanchaz_ Suspenso

    obrigado, mas tenho uma duvida

    o redirect e para http://omeudominio.com/pasta/$1 é possivel?
    ex:
    RedirectMatch 301 (.*) http://omeudominio.com/pasta/$1
    </VirtualHost>
     
  4. spastikman

    spastikman Banido

    é possível desde que tal como o Santos38 disse, o apache esteja configurado para aceitar os subdominios E o mod_rewrite esteja instalado.
     
  5. _sanchaz_

    _sanchaz_ Suspenso

    fiquei so com mais uma duvida

    isto é para a config do apache:
    Código:
    <VirtualHost XXX.XXX.XXX.XXX>
    ServerAlias *.omeudominio.com
    ServerName www.omeudominio.com
    RedirectMatch 301 (.*) http://omeudominio.com$1
    </VirtualHost>
    
    e a config .htaccess?
    peço dsclp posso tar aqui a cometer um grande erro mas nao percebo nada disto, ainde pensei que a config que referem do apache seja a mesma coisa que o .htaccess mas para tirar as duvidas decidi perguntar.
    obrigado.
     
    Última edição pelo moderador: 5 de Janeiro de 2008
  6. Santo38

    Santo38 Power Member

    Modificar o config do Apache só o podes fazer se tiveres acesso root ao servidor ou terás de pedir a quem te presta o serviço de alojamento (HSP).

    No .htaccess tens de usar o código para redirecionar apenas o subdominio para a pasta que queres.

    PS: Adicionei uns comentários na minha mensagem original.

    Saudações
     
  7. _sanchaz_

    _sanchaz_ Suspenso

    Ok muito obrigado, mas nao me podes so por aqui um codigo sff ou dizer-me se algum dos que coloquei esta correcto para o .htaccess.
     
  8. Santo38

    Santo38 Power Member

    O que colocas no .htaccess depende do que queiras fazer, mas nunca irá funcionar se a Zona de DNS e a configuração do Apache não estiver correcta.

    Um exemplo de código para o .htaccess seria:

    Código:
    Options +FollowSymLinks
    RewriteEngine On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9-]+)\.omeudominio\.com$ [NC]
    RewriteRule .* /pasta/%2 [L,QSA]
    
    Saudações
     
  9. _sanchaz_

    _sanchaz_ Suspenso

    Muito Obrigado pela ajuda.
    Tava a ver que nao encontrava maneira de fazer isto, mais uma vez obrigado.
     
  10. _sanchaz_

    _sanchaz_ Suspenso

    Em principio no lado do servidor ja esta tudo feito
    agr o codigo .htaccess onde meto o ficheiro? (tendo em conta que o dominio a que quero fazer isto, e um addon ou seja nao esta em public_html mas sim em public_html/dominio.com)
    obrigado.
     
  11. spastikman

    spastikman Banido

    coloca na raiz do site.
     
  12. Santo38

    Santo38 Power Member

    Eu diria "coloca no directório onde o dominio/sub que pretendes vai cair"...

    Já agora, para testares, mete nomes ao calhas sobre o alias * que foi configurado e todos devem apontar para o teu dominio (antes de colocar o .htaccess) o que verifica se no servidor está tudo ok, tipo:

    lavaium.omeudominio.com - vai ter a omeudominio.com

    e por ai fora...

    Saudações
     
  13. _sanchaz_

    _sanchaz_ Suspenso

    Santo38
    so uma coisa

    <VirtualHost XXX.XXX.XXX.XXX>
    ServerAlias *.omeudominio.com
    ServerName www.omeudominio.com
    RedirectMatch 301 (.*) http://omeudominio.com$1
    </VirtualHost>

    que faz o $1 aqui?
    isso que esta ai devia fazer com que qualquer subdominio fosse parar ao dominio original certo?
     
  14. Santo38

    Santo38 Power Member

    Esquece.. isso está a mais...

    Saudações
     

Partilhar esta Página