Nginx Location Configuration Tutorial from Scratch

Nginx Location Configuration Tutorial from Scratch

Basics

The matching order of location is "match regular expression first, then match common expression".

The location matching order is actually "match common first, then match regular". The reason for the misunderstanding is that regular matching will override ordinary matching

Nginx location configuration syntax

1. location [ = | ~ | ~* | ^~ ] uri { ... }

2. location @name { ... }

There are two ways to configure location configuration

1. prefix + uri (string/regular expression)

2.@ + name

Prefix meaning

= : Exact match (must all be equal)

~ : case sensitive

~* : Ignore case

^~ : only match the uri part

@: Internal service jump

Location Basics

1.location is configured in the server block.

2. You can use different configurations (configured in location) according to different URIs to handle different requests.

3. Locations are ordered and will be processed by the first matching location.

Location configuration demo

1.=, exact match

  location = / {
   #rule}
  # It matches requests like `http://www.example.com/`.

2.~, case sensitive

  location ~ /Example/ {
    #rule}
  #Request example#http://www.example.com/Example/ [Success]
  #http://www.example.com/example/ [FAIL]

3.~*, case-insensitive

 location ~* /Example/ {
    #rule}
 # The case of the uri part will be ignored #http://www.example.com/Example/ [Success]
 #http://www.example.com/example/ [Success]

4.^~, only matches the string starting with uri

 location ^~ /img/ {
   #rule}
 #Requests starting with /img/ will match #upload/2022/web/a.jpg [Success]
 #http://www.example.com/img/b.mp4 [Success]

5.@, nginx internal jump

 location /img/ {
  error_page 404 @img_err;
 }
 
 location @img_err {
  # rule}
 #For requests starting with /img/, if the link status is 404. It will match the @img_err rule.

Summarize

The location in Nginx is not as difficult to understand as you might think, so don't be afraid. Find more information and try more. You will gain something.

refer to

  • http://nginx.org/en/docs/http/ngx_http_core_module.html#location
  • Uniform Resource Identifier

Well, the above is the full content of this article. I hope that the content of this article will have certain reference learning value for your study or work. If you have any questions, you can leave a message to communicate. Thank you for your support of 123WORDPRESS.COM.

You may also be interested in:
  • Complete steps for deploying a front-end and back-end separated nginx configuration
  • Detailed tutorial on how to deploy Springboot project using Nginx on the server (jar package)
  • Detailed explanation of Nginx server setup and basic configuration
  • Detailed tutorial on how to start nginx configuration service
  • Even a novice can complete the deployment of Nginx service with zero foundation

<<:  Encapsulation implementation of the data format returned by nestjs to the front end

>>:  Explain MySQL's binlog log and how to use binlog log to recover data

Recommend

A brief discussion of 12 classic problems in Angular

Table of contents 1. Please explain what are the ...

Alibaba Cloud Ubuntu 16.04 builds IPSec service

Introduction to IPSec IPSec (Internet Protocol Se...

Detailed explanation of Linux lsof command usage

lsof (list open files) is a tool to view files op...

Detailed explanation of storage engine in MySQL

MySQL storage engine overview What is a storage e...

How to solve the error of PyCurl under Linux

Solution to "Could not run curl-config"...

Document Object Model (DOM) in JavaScript

Table of contents 1. What is DOM 2. Select elemen...

Two methods to implement Mysql remote connection configuration

Two methods to implement Mysql remote connection ...

Floating menu, can achieve up and down scrolling effect

The code can be further streamlined, but due to t...

How to reference external CSS files and iconfont in WeChat applet wxss

cause The way to import external files into a min...

Several ways to add timestamps in MySQL tables

Scenario: The data in a table needs to be synchro...

In-depth understanding of javascript class array

js array is probably familiar to everyone, becaus...