nginx中重写rewrite的语法错误[emerg] unknown directive “if($host!=”

来源:互联网

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

C/C++ Code复制内容到剪贴板

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

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

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

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

发表评论