28

nginx サーバーで書き換え機能を使用したい。

「 http://www.example.com/1234 」を試すと、「http://www.example.com/v.php?id=1234」を書き換えて「 http://www」を取得したい.example.com/1234 "ブラウザで。

これがnginx.confファイルです

...
  location ~ /[0-9]+ {
      rewrite "/([0-9]+)" http://www.example.com/v.php?id=$1 break;
  }
...

「 http://www.example.com/1234」を試すと

したい ...

url bar in browser : http://www.example.com/1234
real url : http://www.example.com/v.php?id=1234

でも困った…

url bar in browser : http://www.example.com/v.php?id=1234
real url : http://www.example.com/v.php?id=1234
4

2 に答える 2

41

参照: http://wiki.nginx.org/HttpRewriteModule#rewrite

置換文字列が http:// で始まる場合、クライアントはリダイレクトされ、それ以降の >rewrite ディレクティブは終了します。

したがって、 http:// 部分を削除すると、機能するはずです。

location ~ /[0-9]+ {
        rewrite "/([0-9]+)" /v.php?id=$1 break;
}
于 2013-03-10T14:24:49.367 に答える