nginx rewrite 语法

Posted 崔某人的架构师之路~

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx rewrite 语法相关的知识,希望对你有一定的参考价值。

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?k=v
$host:localhost
$server_port:88
$request_uri:/test1/test2/test.php?k=v
$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$") {
        rewrite ^(.*) http://star.igrow.cn$1 redirect;
    }
}

以上是关于nginx rewrite 语法的主要内容,如果未能解决你的问题,请参考以下文章

Nginx教程 Location配置与ReWrite语法

nginx rewrite功能

NGINX Rewrit 使用 之八

nginx rewrite 语法

Nginx Rewrite语法详解

Nginx的rewrite应用