nginx中此if语句的正确语法是什么

时间:2016-10-12 23:16:36

标签: nginx

由于迁移,我需要将流量从/index.php?page=1重定向到/ page / 1。如果已设置特定参数,我只希望触发规则(本例中的页面)。根据我的理解,以下内容应该有效:

location = /index.php {
    if($arg_page) {
        return 301 $scheme://test.mydomain.com/page/$arg_page;
    }
}

然而,这失败了,整个网站无法加载。当我取出if语句时,它会起作用,但是所有以/index.php开头的URL的流量都会被重定向。如果查询参数“page”存在,它应该重定向。我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

试一试 -

if ($arg_page) {
    rewrite ^/index.php $scheme://test.mydomain.com/page/$arg_page? permanent;
}