之前配置nginx 301重定向一直遇到问题,今天终于解决了
这是一个正确的代码:
[code]
if ($host = ‘www.guakao580.com’) {
rewrite ^/(.*)$ http://www.580gk.cn/$1 permanent;
}
if ($host = ‘guakao580.com’) {
rewrite ^/(.*)$ http://www.580gk.cn/$1 permanent;
}
[/code]
错误示例: if ($host == ‘www.guakao580.com’ || $host == ‘guakao580.com’ )
nginx 配置不支持 if嵌套。也不支持==运算符。
nginx的配置中不支持if条件的逻辑与&& 逻辑或|| 运算 ,而且不支持if的嵌套语法,否则会报下面的错误:nginx: [emerg] invalid condition。
我们可以用变量的方式来间接实现。
if ($arg_unitid = 42012 && $uri ~/thumb/){
echo “shanmao.me”;
}
上面是错误代码,实现方式如下:
[code]
set $flag 0;
if ($uri ~ ^/thumb/[0-9]+_160.jpg$){
set $flag "${flag}1";
}
if ($arg_unitid = 42012){
set $flag "${flag}1";
}
if ($flag = "011"){
echo "shanmao.me";
}
[/code]
特别注意:if后面需要跟空格才能是括号。。
博主网站超赞