侧边栏壁纸
博主头像
疯狂IT人博主等级

疯狂编程博客,分享IT编程的技术博客,用程序员视角总结分享IT编程和互联网知识的那些事儿。

  • 累计撰写 189 篇文章
  • 累计创建 20 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

nginx重写rewrite语法错误 nginx: [emerg] unknown directive "if($host" in的原因及解决办法

疯狂IT人
2022-11-09 / 0 评论 / 0 点赞 / 1,897 阅读 / 187 字 / 正在检测是否收录...

nginx中重写rewrite的语法错误 nginx: [emerg] unknown directive “if($host” in的原因及解决办法:

写了个301重定向的规则,结果报以上错误,原来nginx语法检测特别严格,if和后面括号以及变量等号这些元素都要有空格,所以正确的写法是:

if ( $host != 'www.a.com' ){  
rewrite ^(.*)$ http://www.b.com$1 permanent;  
}  

用^代替空格看起来更清晰:

if^(^$host^!=^'www.a.com'^){

反正多打几个空格就是了,所以nginx中的中文配置文件解释可参考:Nginx配置文件中文注释详解 如果想了解更多nginx的rewrite配置,可参考:nginx rewrite 的 参数大全

0

评论区