请选择 进入手机版 | 继续访问电脑版
用户
请注意:社区账号与官网账号不互通,如需登录社区,请在此注册社区账号!
 找回密码
 注册社区账号

QQ登录

只需一步,快速开始

搜索

请问为何伪静态用break无效

使用交流 2017-12-30 23:35 [复制链接] 查看: 57|回复: 1
当伪静态规则用break时,访问网页变成了下载网页,改成last后能访问网页
请问为何break会失效。
以下是站点配置
1.jpg
2.jpg
回复

使用道具 举报

虚竹 发表于 2018-1-3 19:46:26 | 显示全部楼层
来自官方文档:
last
stops processing the current set of ngx_http_rewrite_module directives and starts a search for a new location matching the changed URI;
break
stops processing the current set of ngx_http_rewrite_module directives as with the break directive;


last 和 break 都会停止当前块中的 rewrite 规则,不同之处地在于,last 之后,会继续寻找 rewrite 后匹配的 URI 路径。

你的示例中,是 rewrite 到 /index.php,所以:
所以必须是 last,rewrite 后才会匹配到 location ~ ^/.*\.php 这段用于处理 PHP 的路径配置;
如果是 break,则直接返回文件内容,于是就变成下载了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册社区账号

本版积分规则

温馨提示
为了能您的问题能够尽快得到解决,复杂问题建议您直接提交工单处理。
QQ群:744188

Archiver|手机版|AppNode 用户社区

GMT+8, 2018-1-22 10:00

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回列表