一个很简单的nginx的server配置
beacon on;
beacon_cfg /etc/nginx/conf.d/beacon.cfg /etc/nginx/conf.d/channel.cfg;
server {
listen 80;
server_name web.com;
root /var/lib/nginx/mobileapi;
location / {
index index.php index.htm index.html;
}
location ~ ^/((?!\.php)\w)+$ {
rewrite ^/(.*) /$1.php last;
}
location ~ ^.+\.php {
fastcgi_split_path_info ^(.+\.php)(.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_pass 127.0.0.1:9000;
fastcgi_read_timeout 500;
fastcgi_index index.php;
include /etc/nginx/fastcgi.conf;
}
error_page 404 /error/404.html;
error_page 500 502 503 504 /error/50x.html;
}
14行使用的last,last匹配以后会跳出匹配规则重新请求(测试以后发现最多匹配11次)。
如果使用break,则会走完当前location,不会再匹配后面的location,也不会跳出重新请求。不在location里的规则会仍然会生效,如error_page。
在这里如果用break代替last,则服务端会返回php文件,而不会使用fastcgi进程处理php。
分享到:
相关推荐
### Nginx的Rewrite规则与实例:深入解析与应用 在现代Web服务器管理与运维领域,Nginx因其高效、稳定以及丰富的功能而备受推崇。其中,Rewrite模块是Nginx的一项重要特性,它允许管理员对HTTP请求进行重写、重定向...
在Nginx中,Rewrite模块是实现URL重写的重要工具,它允许我们根据预定义的规则对请求的URL进行转换,从而实现动态URL到静态URL的映射、隐藏真实路径、实现URL路由等目的。这篇文档将深入解析Nginx中Rewrite模块的...
在使用nginx配置rewrite中经常会遇到有的地方用last并不能工作,换成break就可以,其中的原理是对于根目录的理解有所区别,按我的测试结果大致是这样的。 location / { proxy_pass http://test; alias /home/...
### 实例讲解Nginx的rewrite规则 #### 正则表达式匹配 在Nginx中,使用`rewrite`指令可以实现对URL的重写,其中涉及到正则表达式的匹配方式有以下几种: 1. **区分大小写的匹配**:使用`~`符号,例如:`rewrite ^/...
与Apache的`mod_rewrite`模块相比,Nginx的`rewrite`规则在语法和工作方式上有所不同,这使得理解并熟练掌握Nginx的`rewrite`规则成为提升服务器配置能力的关键。 **1. Nginx与Apache的Rewrite规则对比** Apache的...
下面将详细介绍如何在LNMP环境中配置Nginx的rewrite规则。 首先,了解rewrite规则的基本概念。Nginx的rewrite模块允许我们根据特定的条件重写请求的URI,这在实现URL路由、隐藏真实路径、SEO优化等方面非常有用。它...
* `last`:表示完成 rewrite 并停止匹配其他规则。 * `break`:表示终止匹配,不再匹配后面的规则。 * `redirect`:返回 302 临时重定向。 * `permanent`:返回 301 永久重定向。 Nginx 正则表达式匹配 Nginx 中的...
**Nginx Rewrite规则配置详解** 在Web服务器优化和URL管理中,Nginx的Rewrite规则扮演着重要角色。它允许我们根据特定条件重写请求的URL,从而实现动态URL到静态URL的转换、URL规范化、路径重定向等。Nginx的...
导读:nginx rewrite重写规则与防盗链配置方法,rewrite规则格式中flag标记的几种形式,盗链时返回403错误,允许的域名直接跟在第二行的域名后面。 nginx rewrite重写规则与防盗链配置方法如下所示: nginx rewite...
其中,`<regex>` 是正则表达式,`<replacement>` 是替换后的 URL,`[flag]` 可选标志,如 `last`(停止当前规则集的匹配)、`break`(跳出当前规则)、`redirect`(返回重定向)等。 3. **示例** 例如,将所有以 ...
1. Nginx Rewrite规则相关指令 Nginx Rewrite规则相关指令有if、rewrite、set、return、break等,其中rewrite是最关键的指令。一个简单的Nginx Rewrite规则语法如下: ...2. Nginx与Apache的Rewrite规则实例对比 简单
Rewrite模块是Nginx提供的一个强大功能,它可以在服务器内部将用户请求的URL按照指定规则进行重写和跳转,达到修改用户访问URL的目的。在配置Nginx时,掌握如何使用Rewrite规则对于实现复杂的URL重写和优化网站的SEO...
它支持 Rewrite 模块,该模块是Nginx的一个重要组成部分,负责实现URL的重写与重定向,是SEO优化和网站前端架构中不可或缺的功能。 正则表达式匹配是Nginx Rewrite模块中非常重要的一个功能。Nginx通过使用正则...
- `break`:停止当前的rewrite规则,不再处理后续的rewrite规则。 - `redirect`:返回302临时重定向响应。 - `permanent`:返回301永久重定向响应。 七、全局变量可以用做条件判断 全局变量可以用来做条件判断,...