
Tento usar a primeira parte do fqdn como alvo de reescrita:
http://demo.dev.example.com/something=>http://demo.dev.example.com/demo/something
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+).dev.example.com [NC]
RewriteRule ^/(.*) http://%1.dev.example.com/%1/$1 [P]
Isso cria um loop infinito. Então preciso de outra condição que verifique se essa requisição já foi reescrita ou não:
RewriteCond %{REQUEST_URI} !^/%1
Bem, isso não está funcionando, a documentação não diz nada sobre o uso de referências anteriores em CondPatterns, provavelmente não é suportado.
RewriteCond %{REQUEST_URI} !^/demo
Isso funciona perfeitamente, mas não é dinâmico.
Responder1
Solução/solução alternativa: reserve uma parte do nome do host para solicitações internas:
RewriteCond %{HTTP_HOST} !^internal.dev.atizo.org [NC]
RewriteCond %{HTTP_HOST} ^([0-9a-z-]+).dev.atizo.org [NC]
RewriteRule ^/(.*) http://internal.dev.atizo.org/%1/$1 [P]
Responder2
Se você não precisar processar nenhuma regra após a reescrita, basta adicionar a opção "L" = "last" entre colchetes:
RewriteRule ^/(.*) http://%1.dev.example.com/%1/$1 [P,L]