Pergunta

Temos um cliente que tem muitas filiais em todo o Reino Unido. Alguns de seus ramos têm seus próprios sites com seus próprios nomes de domínio. O cliente possui um sistema construído em parte onde visita:

www.client.com/aboutus.php?id=branchId

mostra a página About Us para essa filial em particular. O que eu preciso é uma maneira de mapear domínios específicos para o seu ramo (tudo isso é armazenado em um dB no momento) para que

www.client.com/aboutus.php?id=4

mapeia para

www.branchid4.com/aboutus.php
Foi útil?

Solução

Isso funciona para mim. Não tenho certeza se seus domínios podem funcionar com um único conjunto de regras gerais (ou seja, pegue o ID e depois use -o no reescrita), caso contrário, você precisará repetir as últimas 3 linhas por URL

Options +FollowSymLinks 
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www.)?client.com$
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /aboutus\.php\?id=4\ HTTP/
RewriteRule ^.*$ http://www.branchid4.com/about.php? [R=301,L]

Outras dicas

Você pode tirar a parte crucial do nome do host e passá -lo para o seu script:

RewriteEngine on
RewriteCond %{QUERY_STRING} !(^|&)branchName=
RewriteCond %{HTTP_HOST} ^www\.([^.]+)\.com$
RewriteRule .* $0?branchName=%1 [L,QSA]
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top