Explicaremos os exemplos de regex da localização nginx em breves detalhes neste artigo.
Pré -requisitos
Supõe -se neste artigo que o nginx já está instalado em seu sistema.
Sintaxe Diretiva de Localização Nginx
A sintaxe a seguir está disponível para o diretório de localização no arquivo de configuração NGINX:
Localização [Modificador] [URL-Match]O bloco de localização Nginx pode ser adicionado em um bloco de servidor ou em outro local com algumas condições predefinidas. Na sintaxe acima, o modificador é um parâmetro opcional. A presença de modificadores no bloco de localização permite que o Nginx lide com um URL em uma ordem diferente. Aqui, poucos modificadores são mencionados abaixo com alguns exemplos:
Combinando todas as solicitações com o bloco de localização nginx
O '/' é usado para o local do prefixo para corresponder a todas as solicitações. No entanto, se nenhuma melhor correspondência for pesquisada, será usada como um último resultado.
Exemplo
No bloco de localização a seguir, ele corresponderá a todas as solicitações:
Diretório de correspondência usando o bloco de localização no nginx
O exemplo a seguir corresponderá a qualquer solicitação no bloco de localização que esteja começando com /imagens /. Consequentemente, procurando um bloco correspondente mais específico contra o URI solicitado. No entanto, se o nginx não procurar uma correspondência mais específica, o bloco de localização será selecionado diretamente.
Exemplo
No abaixo, dado um exemplo, o Nginx corresponderá a qualquer solicitação no bloco de localização que esteja começando com /imagens /.
Combine exatamente usando '=' (igual a) modificador de localização
O modificador '=' signo igual é usado quando você corresponde exatamente ao bloco de localização com um URI solicitado.
Exemplo
Nginx primeiro tenta corresponder aos locais de prefixo mais específicos. No entanto, no exemplo a seguir, o modificador '=' no bloco de localização corresponderá exatamente ao caminho do prefixo solicitado e depois pare de procurar por melhores correspondências.
No exemplo do bloco de localização acima mencionado, o modificador de localização '=' corresponderá exatamente ao mydomano de URL.com/imgs. O MyDomain/IMGS/INDEX dos URLs.html 'ou' myDomain/imgs/'não corresponderá à condição.
Case Sensitive Regex corresponde usando o modificador Tilda (~)
O modificador Tilda (~) executa a pesquisa de expressão regular sensível à caixa contra o URI solicitado e procura continuamente uma correspondência melhor.
Exemplo
O modificador ~ no exemplo a seguir executa o regex sensível ao caso (expressão regular) corresponde ao bloco de localização:
Materia insensível ao caso usando o modificador Tilda (~*)
O sinal de Tilde com um modificador de asterisco (~*) corresponde a qualquer solicitação (insensível a casos) no próximo bloco de localização que termina com um formato de arquivo específico, como o arquivo que termina com PNG, GIF, ICO, JPEG, JPG, CSS ou JS. No entanto, quaisquer solicitações que enviem para a pasta / imgs / serão entretidas pelo bloco de localização anterior.
Exemplo
No bloco de localização a seguir, ele corresponderá a todos os tipos de arquivos insensíveis ao caso.
Modificador do Sign (^~ ~) para correspondência regex
O modificador Caret-Tilda (^~) é usado para executar a correspondência de expressão regular sensível à caixa contra o URL solicitado. Portanto, se o URI correspondente será correspondido nos /imgs ou /imgs /pico.PNG, ele para de procurar para encontrar uma correspondência melhor.
localização ^~ /imgsConclusão
Discutimos alguns exemplos e detalhes importantes sobre a Diretiva de Localização do Nginx com Regex. Também mencionamos o uso de modificadores com exemplos neste artigo. Espero que este artigo o ajude a entender o conceito principal dos blocos de localização no Nginx. Obrigado!