nginx中的location指令用法

在Nginx中,location指令用于定义如何处理特定类型的请求。它通常用于定义不同的URL匹配规则和相应的处理方式。

以下是location指令的一般用法

location [=|~|~*|^~] /uri/ {
    # 处理指令
}
  • =:表示精确匹配。只有当请求的URL与指定的URL完全匹配时,才会应用该location块中的指令。
  • ~:表示区分大小写的正则匹配。只有当请求的URL与指定的正则表达式匹配时,才会应用该location块中的指令。
  • ~*:表示不区分大小写的正则匹配。只有当请求的URL与指定的正则表达式匹配时,才会应用该location块中的指令。
  • ^~:表示前缀匹配。只有当请求的URL以指定的前缀开头时,才会应用该location块中的指令。

下面是一些示例:

  1. 精确匹配:
location = / {
    # 当请求的URL正好是 "/" 时,执行这里的指令
}
  1. 区分大小写的正则匹配:
location ~ \.php$ {
    # 当请求的URL以".php"结尾时,执行这里的指令
}
  1. 不区分大小写的正则匹配:
location ~* \.jpg$ {
    # 当请求的URL以".jpg"结尾时,执行这里的指令
}
  1. 前缀匹配:
location ^~ /images/ {
    # 当请求的URL以"/images/"开头时,执行这里的指令
}

location块中,你可以放置各种指令,例如proxy_passtry_filesrewrite等,用于定义如何处理请求。

alias与root的区别

location /app {

root /var/www/html;

}

root 的路径为 /var/www/html/app

location /app {

alias /var/www/html;

}

alias 的路径 /var/www/html

root 是全路径。拼接 location 和 root 设置的路径

alias 相当于重置路径,重置为 alias 设置的路径

你可能感兴趣的:(linux,&centos,nginx,运维)