Estou configurando um host virtual simples para emular algumas respostas específicas que, em produção, virão de um único URL. Por exemplo, o URL de produção pode ser assim:
http://domain.com/getdeviceinfo/info.bin
Na verdade, ele retorna o texto no formato .ini
. Configurei vários arquivos de teste em minha webroot em /info/(legacy|new)/(daily|monthly)/device.htm
, que testarão várias respostas diferentes e gostaria de configurar o redirecionamento para que eu possa redirecionar a mesma URL para o recurso apropriado. O URL de teste pode ser algo assim:
http://devdomain.com/devicename/legacy/monthly/getdeviceinfo/info.bin
O que eu gostaria de fazer é extrair os valores apropriados e servir (neste exemplo)
/info/legacy/monthly/devicename.htm
O que o Chrome, pelo menos, está fazendo é tentar fazer o download de algo chamado info.bin
.
Aqui está o meu bloco location
:
location ~ ^/(?<device>[^/]+)/(?<software>[^/]+)/(?<plan>[^/]+)/getdeviceinfo/info.bin$ {
alias /opt/dev/hughesnet-modem-simulator/info/$software/$plan;
try_files $uri $uri $device.htm
}
Eu também tentei definir o valor alias
para /opt/dev/hughesnet-modem-simulator/info/$software/$device.htm
em vez de try_files
. Eu sei que acabei de mexer na sintaxe, mas não tenho certeza de onde eu errei.
Qualquer ideia seria muito apreciada.
Obrigado.
UPDATE
Meu bloco atual location
:
location ~ ^/(?<device>[^/]+)/(?<software>[^/]+)/(?<plan>[^/]+)/getdeviceinfo/info.bin$ {
types {}
default_type text/plain;
alias /opt/dev/project-root/info/$software/$plan/$device.htm;
}