nginx伪静态排除指定目录伪静态规则设置
作者:不吃鱼的猫 2020-02-26 人气:方案一、
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伪静态排除指定目录伪静态规则设置由懒人建站收集整理,您可以自由传播,请主动带上本文链接
懒人建站就是免费分享,觉得有用就多来支持一下,没有能帮到您,懒人也只能表示遗憾,希望有一天能帮到您。
- 上一篇:php递归获取指定目录下的指定类型文件
- 下一篇:如何远程链接家中电脑远程办公?
nginx伪静态排除指定目录伪静态规则设置-最新评论