location是nginx配置中一个指令,用于访问URL配置,而在这个location中所配置的每个指令将启动不同的模块去完成相应工作。

默认nginx.conf 中至少有一个location /,即表示客户端浏览器请求的URL为域名+/,常见方式如下:

=                         字面精确匹配;
^~                         最大前缀匹配;
/                         不带任何前缀:最大前缀匹配;
~                         大小写相关的正则匹配;
~*                        大小写无关的正则匹配;
@                        location内部重定向的变量。

Location = 精确匹配会被第一个处理,如果发现精确匹配,Nginx则停止搜索其他任何Location的匹配

^~为最大前缀匹配,如果匹配到该规则,Nginx则停止搜索其他任何location的匹配,否则Nginx会继续处理其他location指令

Location规则优先级如果:

(location =)>(location 完整路径)>(location ^~ 路径)>(location ~|~*) >(location 部分起始路劲)>(location /)

如下为Nginx Location规则案例

location  = / {
  [ configuration  L1 ] 
  #只会匹配/,优先级比Location /低。
}
location  = /index.html {
  [ configuration  L2 ]  
#只会匹配/index.html,优先级最高。
}
location  / {
  [ configuration L3 ] 
  #匹配任何请求,因为所有请求都是以"/"开始;
  #但是更长字符匹配或者正则表达式匹配会优先匹配,优先级最低。
}
location = /images/ {
  [ configuration L4 ] 
  #匹配任何以/images/开始的请求,并停止匹配其它location;
}
location ~* \.(html|txt|gif|jpg|jpeg)$ { 
  [ configuration L5] 
  # 匹配以html、txt、gif、jpg、jpeg结尾的URL文件请求; 
  # 但是所有/images/目录的请求将由 [Configuration L4]处理。
}
浏览器发起HTTP Request URI案例与Location规则案例匹配如下:
    / ->匹配configuration L3;
    /index.html匹配configuration L2;
    /images/匹配configuration L4;
    /images/logo.png匹配configuration L4;
    /img/test.jpg匹配configuration L5。

常见添加如下:

location /
{
    root /var/www/html/;
    expires      60d;
}
location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
{
    root /var/www/html/;
    expires      60d;      
}
location ~ .*\.(jsp|php|cgi|do)$
{
    root /var/www/html/;
    proxy_pass http://linux_web;
    proxy_http_version 1.1;
    proxy_set_header Connection "";
    proxy_set_header Host  $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    
}
location =/newindex.html
{
    root /var/www/newwww/;
    expires      60d;
}

优质内容筛选与推荐>>
1、鸟哥的私房菜基础篇之-正规表示法(Regular Expression,RE)
2、jenkins+testNg+maven+git+selenium自动化集成
3、快速搭建SSM框架
4、宋欣蓉-专业英语
5、C#文件路径获取函数和文件名字获取函数


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn