学电脑,学计算机 | 手机访问 | 加入收藏 | 设为首页 | RSS
当前位置:首页 > 服务器技术 > Web服务器 > 正文

nginx做301重定向if判断报错unknown directive "if($host!="

发布时间:2016-09-27 21:59:23  来源:电脑技术学习网
【摘要】: 将不带www的域名重定向到带www的域名:nginx做301重定向if 判断报错,提示unknown directive "if($host!="

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;  

}

 

发表评论 共有条评论
验证码: