nginx でファイルを偽装する理想的な方法は何ですか (alias、try_files、または rewrite)

nginx でファイルを偽装する理想的な方法は何ですか (alias、try_files、または rewrite)

長い URL をサーバーに送信してファイルの場所を偽装しようとしています。サーバーはそれを適切な PHP ファイルに変換し、結果を返します。例:

次のようなリンクを送信します:

http://example.com/fakelocation/123/456/789

サーバーに次のように翻訳してもらいたいです:

http://example.com/myfile.php?arg=123&arg2=456&arg3=789

数時間試してみましたがうまくいきませんでした。また、3 番目の引数はオプションである必要があります。

ありがとう!

答え1

次のように動作しました:

rewrite ^/fakelocation/(\w*)/(\w*)/(\w*)? /myfile.php?arg1=$1&arg2=$2&arg3=$3 last;

関連情報