nginx配置location [=|~|~*|^~] /uri/ { … }用法

location在nginx中的使用这里我就不介绍了,下面我主要给各位介绍location语法与使用说明,有需要了解的同学可参考。

nginx location介绍

Nginx 中的 Location 指令 是NginxHttpCoreModule中重要指令。Location 指令,是用来为匹配的 URI 进行配置,URI 即语法中的”/uri/”,可以是字符串或正则表达式。但如果要使用正则表达式,则必须指定前缀。

nginx location语法

基本语法:location [=|~|~*|^~] /uri/ { … }

= 严格匹配。如果这个查询匹配,那么将停止搜索并立即处理此请求。
~ 为区分大小写匹配(可用正则表达式)
~* 为不区分大小写匹配(可用正则表达式)
!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
^~ 如果把这个前缀用于一个常规字符串,那么告诉nginx 如果路径匹配那么不测试正则表达式。

Location语法语法:location [=|~|~*|^~] /uri/ { … }
注:
1、~   为区分大小写匹配
2、~* 为不区分大小写匹配
3、!~和!~*分别为区分大小写不匹配及不区分大小写不匹配

示例一:

location  / { }

匹配任何查询,因为所有请求都以 / 开头。但是正则表达式规则将被优先和查询匹配。

示例二:

 代码如下复制代码
location =/ {}

仅仅匹配/

示例三:

 代码如下复制代码
location ~* .(gif|jpg|jpeg)$ {
rewrite .(gif|jpg)$ /logo.png;

注:不区分大小写匹配任何以gif,jpg,jpeg结尾的文件


nginx location应用实例

 代码如下复制代码

location = / {
 # 只匹配 / 查询。
 
}location / {
 # 匹配任何查询,因为所有请求都已 / 开头。但是正则表达式规则和长的块规则将被优先和查询匹配。
 
}location ^~ /images/ {
 # 匹配任何已 /images/ 开头的任何查询并且停止搜索。任何正则表达式将不会被测试。
 
}location ~* .(gif|jpg|jpeg)$ {
 # 匹配任何已 gif、jpg 或 jpeg 结尾的请求。
 
}location ~* .(gif|jpg|swf)$ {
  valid_referers none blocked start.igrow.cn sta.igrow.cn;
  if ($invalid_referer) {
  #防盗链
  rewrite ^/ http://$host/logo.png;
  }
}
location ~* .(js|css|jpg|jpeg|gif|png|swf)$ {
if (-f $request_filename) {
   #根据文件类型设置过期时间
   expires    1h;
   break;
}
}
location ~* .(txt|doc)${ 
 #禁止访问某个目录
    root /data/www/wwwroot/linuxtone/test;
    deny all;
}

++ 一些可用的全局变量
$args
$content_length
$content_type
$document_root
$document_uri
$host
$http_user_agent
$http_cookie
$limit_rate
$request_body_file
$request_method
$remote_addr
$remote_port
$remote_user
$request_filename
$request_uri
$query_string
$scheme
$server_protocol
$server_addr
$server_name
$server_port
$uri

参考:http://www.php100.com/html/program/nginx/2013/0905/5535.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nginx是一款开源的高性能Web服务器,拥有强大的反向代理功能和可扩展性,同时也是一个灵活的HTTP流量控制器。在使用nginx时,很多用户经常会遇到配置location后发现页面不全的问题,这主要是由于nginxlocation配置与其他服务器有所不同导致的。 nginxlocation配置是按照优先级从高到低被匹配的,而且nginx会根据匹配的规则执行相应的操作,这也就意味着如果location配置无法完全匹配时,会造成页面加载不全的问题。 针对这种情况,我们可以通过以下几种方法来解决: 1.正确设置location的匹配规则 在配置location时,正确设置匹配规则是解决页面加载不全的最关键的一步,只有正确的匹配规则才能保证location能够正常工作。我们可以通过正则表达式或者精确匹配的方式来配置location的匹配规则。 2.使用try_files指令 当location无法完全匹配时,可以使用try_files指令将请求转发到指定的文件或者目录中,这样就能够避免页面加载不全的问题。例如:try_files $uri $uri/ /index.php; 3.检查nginx的错误日志 当页面加载不全时,可以检查nginx的错误日志,查看是否有相关的错误提示信息。通过查看错误日志,可以快速定位问题,进而进行解决。 总之,nginx配置location加载不全的问题是比较常见的一种问题,如果以上的方法都无法解决,可以考虑查阅nginx相关的文档,或者咨询nginx的开发者和社区。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值