nginx做301重定向if判断报错unfamil
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;
}