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

写了个301重定向的规则,结果报以上错误,原来 nginx语法检测特别严格,if和后面括号以及变量等号这些元素都要有空格,所以正确的写法是:
 
C/C++ Code 复制内容到剪贴板
  1. if ( $host != 'www.sjnxs.cn' ){  
  2. rewrite ^(.*)$ http://www.sjnxs.cn$1 permanent;  
  3. }  
 
 
用^代替空格看起来更清晰:
 
if^(^$host^!=^'www.sjnxs.cn'^){
 
反正多打几个空格就是了,所以nginx中的中文配置文件解释可参考: Nginx配置文件中文注释详解  如果想了解更多nginx的rewrite配置,可参考: nginx rewrite 的 参数大全

你可能感兴趣的:(服务器管理)