ブラウザにクエリ文字列で書き換えられた URL がありません

ブラウザにクエリ文字列で書き換えられた URL がありません

クエリ文字列を追加して URL を書き換えると、ブラウザの URL にクエリ文字列が含まれなくなります。次のようになります。

location / {
    rewrite ^/$ /?page=test break;
}

代わりに、ルート ディレクトリにアクセスすると、ブラウザーに元の URL が表示されます。別のパスに書き換えることができます。

答え1

書かれているとおり、これは単なる書き換えであり、ユーザーが気付かないうちに Web サーバーによって内部的に処理されます (処理される必要があります)。

これを一時的または永続的にユーザーに表示できるようにするには、書き換え行にredirectまたはステートメントを追加します(permanentnginx ドキュメントの書き換え)。

変種には注意してくださいpermanentHTTP コード 301) の場合、名前は文字通りの意味であり、ブラウザがこれを保存するため、後で変更するのは困難です。これは、新しいシステムに移行する場合にのみ使用する必要があります。

を使用すると、redirectブラウザは新しい URL でサイトを強制的に再読み込みします。ページの読み込み時間が大幅に遅くなるため、これも注意して使用する必要があります。

答え2

この問題は、これクエリ文字列による書き換えは機能します。

関連情報