* ~ 为区分大小写匹配
* ~* 为不区分大小写匹配
* !~和!~*分别为区分大小写不匹配及不区分大小写不匹配
文件及目录匹配,其中:
* -f和!-f用来判断是否存在文件
* -d和!-d用来判断是否存在目录
* -e和!-e用来判断是否存在文件或目录
* -x和!-x用来判断文件是否可执行
flag标记有:
* last 相当于Apache里的[L]标记,表示完成rewrite
* break 终止匹配, 不再匹配后面的规则
* redirect 返回302临时重定向
* permanent 返回301永久重定向
一些可用的全局变量有,可以用做条件判断(待补全)
$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
举例:
abc.domian.com/sort/2 => abc.domian.com/index.php?act=sort&name=abc&id=2
view sourceprint?
1.if ($host ~* (.*)\.domain\.com) {
2. set $sub_name $1;
3. rewrite ^/sort\/(\d+)\/?$ /index.php?act=sort&cid=$sub_name&id=$1 last;
4.}
相关推荐
### Nginx Rewrite 常用示例解析 #### 一、从非-www 版本自动重定向到 www 版本 **应用场景:** 当用户访问 `abc.com`(无 www 的版本)时,需要自动重定向到 `http://www.abc.com`。 **配置示例:** ```nginx ...
以下将详细介绍如何在Nginx中处理带参数的`rewrite`规则,以及如何去除或保留这些参数。 首先,`$query_string`变量包含了GET请求中的所有参数,而`$request_uri`则包含了原始URI,包括路径和查询字符串,但不包含...
首先查看下nginx是否支持rewrite: ./nginx -V 不支持说明安装nginx时候缺少pcre,需要重新安装nginx: #安装pcre wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.34.tar.gz tar -zxvf pcre-...
### 实例讲解Nginx的rewrite规则 #### 正则表达式匹配 在Nginx中,使用`rewrite`指令可以实现对URL的重写,其中涉及到正则表达式的匹配方式有以下几种: 1. **区分大小写的匹配**:使用`~`符号,例如:`rewrite ^/...
Nginx 中 rewrite 实现二级域名、三级域名、泛域名、路径的重写 Nginx 中的 rewrite 模块是实现 URL 重写和.redirect 的强大工具。下面我们将详细介绍 Nginx 中如何使用 rewrite 实现二级域名、三级域名、泛域名、...
下面将详细介绍如何在LNMP环境中配置Nginx的rewrite规则。 首先,了解rewrite规则的基本概念。Nginx的rewrite模块允许我们根据特定的条件重写请求的URI,这在实现URL路由、隐藏真实路径、SEO优化等方面非常有用。它...
**Nginx Rewrite模块应用详解** Nginx的Rewrite模块是其强大的URL重写工具,它可以基于HTTP请求的URL动态改变请求的目标,实现各种复杂的路由控制和URL美化功能。以下我们将详细介绍Nginx Rewrite模块在不同场景下...
本文将详细介绍Nginx编译时的一些关键参数,帮助你更好地理解和配置Nginx。 1. **基本配置参数**: - `--prefix=PATH`:指定Nginx的安装目录,默认通常是 `/usr/local/nginx`。 - `--sbin-path=PATH`:设定Nginx...
Rewrite规则中的flag参数非常重要,它用于控制重写后的执行行为。常见的flag有: - `last`:完成重写规则后,开始新的location匹配过程,类似于Apache中的[L]标记。 - `break`:完成重写规则后,不再执行后续的重写...
在Nginx中,伪静态的实现依赖于rewrite模块。它通过一系列配置参数来控制如何将请求的URL重写为其他形式。这些配置参数包括正则表达式匹配规则、文件和目录匹配规则以及特定的flag标记。 正则表达式匹配规则用于...
默认参数编译nginx就会支持rewrite的模块,但是也必须要PCRE的支持 rewrite是实现URL重写的关键指令,根据regex(正则表达式)部分内容,重定向到replacement,结尾是flag标记。 rewrite语法格式及参数语法说明如下:...
使用正则表达式进行URL重写可以更加灵活地控制rewrite规则,比如示例中的`http`转`https`不需要再显式添加`ssl`参数,Nginx版本更新后简化了配置。 在配置文件中,可以通过`return`指令直接返回重定向的状态码和URL...
Nginx 的 `rewrite` 指令是一个强大的URL重写工具,它允许你通过正则表达式和标志位来转换请求的URL,从而实现URL美化、路由分发等多种功能。下面将详细介绍这些常见的 `rewrite` 重写规则及其应用场景。 1. **执行...
它支持 Rewrite 模块,该模块是Nginx的一个重要组成部分,负责实现URL的重写与重定向,是SEO优化和网站前端架构中不可或缺的功能。 正则表达式匹配是Nginx Rewrite模块中非常重要的一个功能。Nginx通过使用正则...