Como você diz, com hosts
você pode controlar somente o IP, mas como o novo URL é outro subdomínio, podemos combinar usando hosts
com um servidor web local para reescrever o URL. Observe que essa solução alternativa requer que o aplicativo use um navegador ou outro componente que siga os redirecionamentos de URL.
Vou usar uma instalação baunilha do Apache, já que não precisamos de PHP ou DB, mas se você quiser, pode usar uma distribuição como XAMPP . As etapas são:
-
Faça o download do o Apache ZIP do Apachehaus , eu usei a versão de 32 bits do VC11 . Note que esta versão precisa do Visual C ++ 2012 redistribuível , faça o download e instale-o não o tenha instalado (se você usar outra versão, precisará da versão correspondente do C + + Redistribuível).
-
Extraia o conteúdo do ZIP em uma pasta, vou usar
C:\Apache
, mas você pode usar outra pasta, basta usar essa pasta nas próximas etapas. -
Acesse
C:\Apache\Apache24\conf
e abrahttpd.conf
com um editor de texto e faça as seguintes alterações:- Pesquise
Define SRVROOT "/Apache24"
e substitua porDefine SRVROOT "C:\Apache\Apache24"
, isso diz ao Apache onde ele está instalado. - Pesquise
#LoadModule rewrite_module modules/mod_rewrite.so
e exclua o#
inicial, isso carrega o módulo de regravação de URL. - Pesquise
DocumentRoot "${SRVROOT}/htdocs"
, algumas linhas depois de verAllowOverride None
, substitua porAllowOverride All
, isso permite a regravação de URL.
- Pesquise
-
Você pode iniciar o Apache manualmente indo para
C:\Apache\Apache24\bin
e executandohttpd.exe
, mas é mais conveniente instalá-lo como um serviço. Para isso, abra umcmd.exe
, vá para essa pasta e executehttpd.exe -k install
. Uma vez que o serviço é instalado, você pode iniciar / pará-lo a partir da ferramenta administrativa Serviços do Painel de Controle (você precisa iniciá-lo pela primeira vez após a instalação a partir daí, será iniciado automaticamente com o Windows). -
Teste se o servidor está em execução, abra
http://localhost
, ele mostrará uma página de boas-vindas, se estiver funcionando corretamente. Se o servidor não iniciar a inicialização manualmente a partir da linha de comando, ele imprimirá o erro que impedirá sua inicialização (por exemplo, se você colocar um caminho incorreto no ServerRoot). -
Crie um novo arquivo no seu editor de texto e salve-o como
.htaccess
(observe o ponto inicial) na pastaC:\Apache\Apache24\htdocs
, você tem que colocar o seguinte nesse arquivo (mudar o domínio e a subpasta para os reais ):RewriteEngine on RewriteRule ^sub1/sub2/sub3/(.*)$ http://subdomain2.domain.com/sub4/$1 [R]
-
Por fim, edite o arquivo
hosts
do Windows e adicione a seguinte linha:127.0.0.1 subdomain1.domain.com
Você pode testar se o redirecionamento funciona em um navegador, se tudo correu bem, agora que você digita link o navegador será redirecionado para link .
Se quiser usar essa solução alternativa em vários computadores, você não precisa instalar o Apache em cada um, supondo que 192.168.0.10
seja o IP da máquina com Apache, apenas adicione o arquivo hosts
de cada máquina:
192.168.0.10 subdomain1.domain.com
Note que você precisa permitir conexões ao Apache no firewall, pelo menos para a rede local.