nginx做301重定向if 判断报错,提示

unknown directive "if($host!="
将不带www的域名重定向到带www的域名,规则如下:

if($host='pc004.com'){

rewrite ^/(.*)$ http://www.pc004.com/$1 permanent;

}

原因是nginx语法检测特别严格,if和后面括号以及变量等号这些元素都要有空格,所以正确的规则是:

if ( $host = 'pc004.com' ){
rewrite ^/(.*)$ http://www.pc004.com/$1 permanent;
}
如果用^代替空格,规则如下:

if^(^$host^=^'pc004.com'^){

rewrite ^/(.*)$ http://www.pc004.com/$1 permanent;

}

最近更新