我正在尝试以这种方式将特定子页面重定向到子域:
- 如果查询字符串不存在,则处理重定向到子域
- 如果存在特定查询字符串,则不重定向
以下处理重定向:
if ($page = ""){
return 301 https://subdomain.example.com/$1/;
}
try_files $uri $uri/ index.php?args;
但是,当我尝试排除查询字符串时,这不起作用:
if ($page = ""){
return 301 https://subdomain.example.com/$1/;
}
if ($is_args = ""){
return 301 https://example.com$is_args$request_uri;
}
try_files $uri $uri/ index.php?args;
我怎样才能做到这一点?
答案1
在 $is_args 条件中,您检查它是否为空。如果是,您使用空字符串吗?这有什么意义吗?
另外,尝试改变条件的顺序。如果没有参数,则 $page 也将为空:
if ($is_args = ""){
return 301 https://example.com$request_uri;
}
if ($page = ""){
return 301 https://subdomain.example.com/$1/;
}
try_files $uri $uri/ index.php?args;