知识 分享 互助 懒人建站

    懒人建站专注于网页素材下载,提供网站模板、网页设计、ps素材、图片素材等,服务于【个人站长】【网页设计师】和【web开发从业者】的代码素材与设计素材网站。

    懒人建站提供网页素材下载、网站模板
    知识 分享 互助!

    nginx伪静态排除指定目录伪静态规则设置

    作者:不吃鱼的猫 2020-02-26 人气:
    location ~* ^/(?![sys-static|h5]) { .. 伪静态规则 }通过 location ~* ^/(?![sys-static|h5]) 来设置排除目录,| 分割多个目录。

    方案一、

    location ~* ^/(?![static|h5]) { .. 伪静态规则 }通过 location ~* ^/(?![sys-static|h5])  来设置排除目录,| 分割多个目录。

    location ~* ^/(?![static|h5]) {

    ... 伪静态规则

    }

    ===========

    示例:

    location ~* ^/(?![static|h5]) {

        rewrite ^(.*)/([0-9a-zA-Z]+)/$ $1/index.php?url=article/index&pathname=$2 last;

        rewrite ^(.*)/([0-9a-zA-Z]+)-([0-9]+).html$ $1/index.php?url=article/index&pathname=$2&page=$3 last;

    }

    这个排除了static和h5目录

    注意:这个方法也不知道是不是我姿势不正确。实际测试有问题,location 中的伪静态规则只有第一个栏目规则和第一个栏目的文章规则执行正常,后面的均不正确。建议使用后面两种方案。

    方案二、

    所以有了第二种让nginx伪静态排除指定目录方案,使用多个 location,不再使用反向排除的思路,改用匹配到该规则,使用 break 语句停止 rewrite 检查。

    location ~* /h5/|/sys-static/{

        break;

    }

    location ~* {
        ...
    }

    方案三、

    还可以使用请求某个真实存在的文件跳出。示例:

    location ~* {

        if (-f $request_filename) { 

            break; 

        }

        ...
    }

    ↓ 查看全文

    nginx伪静态排除指定目录伪静态规则设置由懒人建站收集整理,您可以自由传播,请主动带上本文链接

    懒人建站就是免费分享,觉得有用就多来支持一下,没有能帮到您,懒人也只能表示遗憾,希望有一天能帮到您。

    nginx伪静态排除指定目录伪静态规则设置-最新评论