开发者社区> 问答> 正文

关于nginx的怪问题?报错

 !~*  这个用法真的很怪。。我很少成功过
location !~* \.(gif|jpg|png|js|css)$

报错:invalid location modifier "!~*"

if ($host !~* "^www\." ) {

---这里又是可以成功

展开
收起
爱吃鱼的程序员 2020-06-22 15:18:12 670 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    nginx location上正则取反是用“?!”,而不是“!~”,位置和写法这样写:

    location~*^\.(?![gif|jpg|png|js|css]){}

    引用来自“iSea”的答案

    nginx location上正则取反是用“?!”,而不是“!~”,位置和写法这样写:

    location~*^\.(?![gif|jpg|png|js|css]){}所有的nginx内置变量都可以通过if指令和正则表达式来进行匹配。location匹配的原型是这样的:location[=|~|~*|^~|@],它没有取反运算符”!“。“!~”、“!~*”不匹配,一般用在条件判断的时候你想要什么结果。。。

     location~.*\.(gif|js|css)$
       {
         expires     5d;
         access_log  off;
       }

    2020-06-22 15:18:30
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
《Nginx 代理系统常用手册》 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载