`

nginx配置文件中location的写法

 
阅读更多
Nginx Location 语法,与简单配置
一、介绍Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器.
二、Location语法语法:location [=|~|~*|^~] /uri/ { … }
注:
1、~   为区分大小写匹配
2、~* 为不区分大小写匹配
3、!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
示例一:
location  / { }
匹配任何查询,因为所有请求都以 / 开头。但是正则表达式规则将被优先和查询匹配。
示例二:
location =/ {}
仅仅匹配/
示例三:
location ~* \.(gif|jpg|jpeg)$ {
rewrite \.(gif|jpg)$ /logo.png;

注:不区分大小写匹配任何以gif,jpg,jpeg结尾的文件
三、ReWrite语法
last - 基本上都用这个Flag。
break - 中止Rewirte,不在继续匹配
redirect - 返回临时重定向的HTTP状态302
permanent - 返回永久重定向的HTTP状态301
1、下面是可以用来判断的表达式:
-f和!-f用来判断是否存在文件
-d和!-d用来判断是否存在目录
-e和!-e用来判断是否存在文件或目录
-x和!-x用来判断文件是否可执行
2、下面是可以用作判断的全局变量
例:http://localhost:88/test1/test2/test.php
$host:localhost
$server_port:88
$request_uri:http://localhost:88/test1/test2/test.php
$document_uri:/test1/test2/test.php
$document_root:D:\nginx/html
$request_filename:D:\nginx/html/test1/test2/test.php
四、Redirect语法
    server {
    listen 80;
    server_name start.igrow.cn;
    index index.html index.php;
    root html;
    if ($http_host !~ "^star\.igrow\.cn$&quot  {
         rewrite ^(.*) http://star.igrow.cn$1 redirect;
    }
    }
五、防盗链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;
}

转:http://www.phpchina.com/html/70/t-162870.html,http://idev.yo2.cn/go/19761.html
分享到:
评论

相关推荐

    nginx配置location总结location正则写法及rewrite规则写法

    - 正则表达式 `location ~` 和 `location ~*` 按照它们在配置文件中的顺序匹配。 - 其他普通 `location` 指令按照最长前缀匹配原则进行匹配。 - 如果正则表达式匹配成功,那么就不会再尝试匹配普通的 `location...

    NGINX location 在配置中的优先级.docx

    注意,以上的匹配和在配置文件中定义的顺序无关。 Location 正则写法 ----------------- 一个示例: ```nginx location = / { # 精确匹配 / ,主机名后面不能带任何字符串 # 配置 A } location / { # 因为所有...

    详解nginx配置location总结及rewrite规则写法

    location指令是Nginx配置中非常核心的部分,它可以基于请求的URI来执行特定的处理。location的匹配规则分为多种类型,每种类型具有不同的优先级。 1. 等号“=”开头表示精确匹配,当请求的URI与location后的路径...

    nginx-1.9.0+配置.zip

    3. 日志监控:配置文件中定义了日志路径,通过 `error_log` 和 `access_log` 监控 Nginx 运行状态和访问记录。 五、Nginx 反向代理与负载均衡 Nginx 作为反向代理服务器,可以将客户端请求转发到后端不同的服务器...

    Nginx服务器中的location配置详解

    其中,location指令是Nginx配置文件中非常重要的部分,用于定义请求的URI和资源之间的映射关系。Location配置是通过location块实现的,location块可以嵌套在http、server或者另一个location块中。本文将对Nginx中的...

    Nginx服务器下配置个性二级域名及多个域名的实例讲解

    在Nginx配置文件中,server块定义了监听特定端口和主机名的虚拟服务器。在二级域名的配置中,server_name指令用于指定需要处理的域名,而location块则定义了对于匹配的请求需要执行的指令。 在配置实例中,使用了...

    Nginx实现if多重判断配置方法示例

    首先,要理解Nginx配置文件的结构和指令,Nginx配置文件通常由多个上下文块组成,如http、server、location等。在这些块中可以使用各种指令,包括变量、if条件判断等。在if条件中,Nginx支持简单的条件判断,但是不...

    Nginx配置编写时支持逻辑运算与大小写字母转换的方法

    在处理逻辑运算时,Nginx的配置文件中可以使用`if`语句,但不能直接使用逻辑运算符。例如,如果我们想要检查两个条件是否同时满足,不能像这样写`if ($condition1 && $condition2)`,因为这会导致解析错误。为了解决...

    详解Nginx虚拟主机配置中server_name的具体写法

    server_name在Nginx配置中还可以通过精确匹配、通配符开始的字符串、通配符结束的字符串和正则表达式等四种匹配规则来处理请求。Nginx按照这四种规则的顺序进行匹配,一旦找到匹配项,便停止继续搜索并处理该请求。...

    phpcms在nginx的rewrite伪静态标准写法

    在nginx中配置伪静态通常需要编辑nginx的配置文件,这通常位于/usr/local/nginx/conf/nginx.conf或者/etc/nginx/nginx.conf,具体取决于安装方式和系统环境。配置的核心是定义location块,通过正则表达式匹配不同的...

    Nginx 证书部署.docx

    在 `nginx.conf` 文件中,添加以下配置: ``` server { listen 443; server_name www.domain.com; ssl on; ssl_certificate 1_www.domain.com_bundle.crt; ssl_certificate_key 2_www.domain.com.key; ssl_...

    Nginx 过滤静态资源文件的访问日志的实现

    `map`指令是Nginx配置中的一个强大工具,它允许我们将一个变量的值映射到另一个值。在这个场景中,我们可以通过`map`来定义一个判断是否记录日志的参数。首先,定义一个自定义的日志格式`log_format`,例如名为`main...

    nginx支持codeigniter的pathinfo模式url重写配置写法示例

    总的来说,正确配置Nginx以支持CodeIgniter的Path Info模式,需要理解URL路由的工作原理,以及如何在Nginx配置文件中处理这些路由。通过设置正确的PHP环境变量和使用rewrites,我们可以确保CodeIgniter能够正确地...

    解决nginx不支持thinkphp中pathinfo的问题

    通常来说,这涉及到对nginx的配置文件(通常是nginx.conf或者在特定虚拟主机的配置文件)添加适当的location指令,并正确设置相应的参数。这种配置方法的优点是不改变应用本身,而是让Web服务器能够处理pathinfo模式...

Global site tag (gtag.js) - Google Analytics