Exemplos de Regex da localização nginx

Exemplos de Regex da localização nginx
A Diretiva de Localização do Nginx permite solicitações de roteamento para um local específico no sistema de arquivos. Enquanto o Nginx está correspondendo ou pesquisando um bloco de localização em relação ao URL solicitado, a Diretiva de Localização informa ao Nginx onde procurar um caminho específico, incluindo todos os arquivos e diretórios.

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:

Localização /

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 /.

localização / 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.

localização = /imgs
..

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:

Localização ~ /imgs
..

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.

Localização ~* .(png | ico | gif | jpg | jpeg | css | js) $
..

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 ^~ /imgs
..

Conclusã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!