2

在这篇文章的底部是我当前的 nginx 重写规则,并且在大多数情况下它正在正常工作。我似乎遇到的唯一问题是在 example.com/?action=cmd 等链接的示例中,此操作正在作为 example.com/clientarea/?action=cmd 处理

我正在寻找一种方法,当 ? 调用符号,它将自动将其附加到 example.com/index.php 而不是 /clientarea/

location = / {
    rewrite ^ /clientarea/ permanent;
}

location ~ ^(.*)$ {
try_files $uri $uri/ /index.php?$1;
}
4

1 回答 1

1

假设您有最新版本的 Nignx 1.0.x+(我认为),这应该可以工作:

location = / {
    if ($is_args = '?') {
        return 301 $scheme://$host/index.php$is_args$args;
    }
    rewrite ^ /clientarea/ permanent;
}

location ~ ^(.*)$ {
    try_files $uri $uri/ /index.php?$1;
}
于 2012-04-18T20:09:38.820 回答