Apache reescrever com base no subdomínio [fechado]
-
09-06-2019 - |
Pergunta
Estou tentando redirecionar solicitações de um domínio curinga para um sub-diretório.
ou seja. something.blah.domain.com
--> blah.domain.com/something
Eu não sei como obter o nome de subdomínio para usar a regra de reescrita.
Solução Final:
RewriteCond %{HTTP_HOST} !^blah\.domain\.com
RewriteCond %{HTTP_HOST} ^([^.]+)
RewriteRule ^(.*) /%1/$1 [L]
Ou, como apontado por pilif
RewriteCond %{HTTP_HOST} ^([^.]+)\.media\.xnet\.tk$
Solução
Você deve ter um olhar para o A Regravação de URL Guia a partir da documentação do apache.
O seguinte é não testado, mas deve o truque:
RewriteCond %{HTTP_HOST} ^([^.]+)\.blah\.domain\.com$
RewriteRule ^/(.*)$ http://blah.domain.com/%1/$1 [L,R]
Isso só funciona se o subdomínio não contém pontos.Caso contrário, você teria de alterar o Regexp em RewriteCond para corresponder a qualquer caractere que ainda deve funcionar devido à ancoragem, mas isso certamente se sente mais seguro.
Outras dicas
Tente isso:
RewriteCond %{HTTP_HOST} (.+)\.blah\.domain\.com
RewriteRule ^(.+)$ /%1/$1 [L]
@pilif (ver comentário):Ok, isso é verdade.Eu simplesmente copiou um .htaccess que eu uso em um de meus projetos.Acho que tem uma abordagem um pouco diferente :)
@Sam
seu RewriteCond linha é errado.A expansão da variável, é acionado com %, sem $.
RewriteCond %{HTTP_HOST} ^([^\.]+)\.media\.xnet\.tk$
^
que deve fazer o truque