请问为何伪静态用break无效

xiangwofei 7月前 337

当伪静态规则用break时,访问网页变成了下载网页,改成last后能访问网页
请问为何break会失效。
以下是站点配置


最新回复 (1)
  • 虚竹 7月前
    引用 2
    来自官方文档:
    Quotelast
    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,则直接返回文件内容,于是就变成下载了。
返回
发新帖