2

この投稿の最後に、私の現在の nginx 書き換えルールを示します。ほとんどの場合、正常に機能しています。私が遭遇しているように見える唯一の問題は、example.com/?action=cmd などのリンクの例です。このアクションは example.com/clientarea/?action=cmd として処理されています。

私はその方法を探しています? シンボルが呼び出され、/clientarea/ の代わりに example.com/index.php に自動的に追加されます

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 に答える