在这篇文章的底部是我当前的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;
}
答案 0 :(得分:1)
假设您有最新版本的Nginx 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;
}