0

次の URL を書き換えたい:

index.php?SOMETHING=VALUE

として

/SOMETHING/VALUE

私はnginxの書き換えに慣れていないので、助けていただければ幸いです。

ありがとう

4

1 に答える 1

1

私はあなたの問題に対する解決策を思いつきました:

location /index.php {
    if ( $args ~ "(?<PATH1>.*)=(?<PATH2>.*)" ) {
        rewrite ^ /${PATH1}/${PATH2}? last;
    }
}

説明:

  • if ( $args ~ "(?<PATH1>.*)=(?<PATH2>.*)" ): URL パラメータから関連する 2 つのセクションをキャプチャし、値を変数PATH1PATH2
  • rewrite ^「URI全体を書き換える」ことを意味します
  • /${PATH1}/${PATH2}新しいURIを構築しています
  • 末尾は、元の URL パラメーターを追加したくないことを?通知しますnginx
  • lastnginx書き換え後も引き続きルールに従うように指示します
于 2012-11-26T10:55:59.413 に答える