Eu tenho uma reescrita no meu arquivo ngix conf que funciona corretamente, exceto que parece incluir o bloco de localização como parte da variável $ uri. Eu só quero o caminho após o bloco de localização. Meu código de configuração atual é:
location /cargo {
try_files $uri $uri/ /cargo/index.php?_REWRITE_COMMAND=$uri&args;
}
Usando um exemplo de URL do http://localhost/cargo/testpage
redirecionamento funciona, no entanto, o valor do parâmetro "_REWRITE_COMMAND" recebido pelo meu arquivo php é "/ cargo / testpage". Preciso retirar o bloco de localização e ter apenas "testpage" como o $ uri
Eu tenho certeza que existe uma sintaxe regex para dividir o $ uri e atribuí-lo a uma nova variável usando $ 1 $ 2 etc, mas não consigo encontrar nenhum exemplo para fazer apenas uma atribuição de variável usando um regex que não faz parte de uma reescrita declaração. Estou procurando e tentando há horas, e simplesmente não consigo superar esse último passo.
Eu também sei que eu poderia simplesmente remover isso no código do aplicativo, mas o motivo pelo qual eu quero tentar corrigi-lo no nginx conf é por motivos de compatibilidade, pois também é executado no Apache. Também devo dizer que descobri uma maneira realmente hacky de fazê-lo, mas envolve uma declaração "if" para verificar a existência de arquivos e a documentação diz especificamente para não fazê-lo dessa maneira.
Encontrei outra coisa que funcionou para mim (como estou usando gunicorn, não posso escolher o que passar)
Você deve conseguir se safar
fonte
Para aqueles que podem estar com dificuldade de adicioná-lo para microsserviço ou API com o Nó JS, usei o seguinte para remover
api
da URL no meu servidor:fonte