Eu não sei sobre o arquivo .htaccess
, mas tenho certeza que isso funcionaria:
RewriteEngine On
RewriteCond %{HTTP_HOST} customer([0-9]+)\.com
RewriteRule ^/app/(.*) /app/customers/customer%1/$1 [QSA]
Explicação:
RewriteCond %{HTTP_HOST} customer([0-9]+)\.com
colocará na variável ' %1
' o número do cliente, ou seja, ' 1
'
RewriteRule ^/app/(.*) /app/customers/customer%1/$1 [QSA]
Significa: se o caminho começa com ' /app/
', reescreva-o para /app/customers/customer
e adicione a variável ' %1
' (ou seja, ' 1
' em nosso exemplo) ele deve funcionar com o que você está pedindo: reescreva para http://customer1.com/app/customers/customer1/
.
Sinto muito, mas sua pergunta não é muito precisa, e você deve dar mais exemplos, ou ser mais específico do que você quer fazer, mas eu fiz o meu melhor para ajudá-lo.
Você também pode usar a diretiva RewriteMap
.
Imagine que você coloque todos os sites dos seus clientes e os diretórios corretos assim:
alsace 1
aquitaine 2
auvergne 3
basse-normandie 4
bourgogne 5
bretagne 6
centre 7
champagne-ardenne 8
corse 9
franche-comte 10
haute-normandie 11
então eu uso um RewriteRule assim:
RewriteMap mapregions dbm:/web/htdocs/maps/regions.map
RewriteRule ^/region/(.*)/$ /handle_regions.php \
[NC,E=REGION:${mapregions:$1|notfound}]
Então, o que acontece é basicamente: se você pedir um URL como /region/(.*)/
, ele redireciona para /handle_regions.php
e define uma variável de ambiente REGION
Então eu apenas checo se foi encontrado: se não, eu paro:
RewriteCond %{ENV:REGION} notfound
# "not found" = 404 :
RewriteRule .* - [R=404,L]
E então aqui está você. Sinto muito, mas com todas as coisas que acabei de dizer, você tem material suficiente para resolver o seu problema. Eu não tenho tempo para fazer todas as coisas para você, desculpe cara, eu fiz o melhor que pude para ajudá-lo ... e espero que isso ajude!