現在、私はnginx.confファイルにこのようなものがあります:
location ~ /old/page/?$ {
return 301 /new-page;
}
問題は、クエリ文字列が/ old/page?ref = xx URLから削除されていることです。
上記で使用しているリダイレクトメソッドを使用してクエリ文字列を含めることはできますか?
?
以降はクエリ文字列であり、location
およびrewrite
ディレクティブで使用される正規化されたURIの一部ではありません。詳細は このドキュメント を参照してください。
クエリ文字列を保持する場合は、return
に追加します。
location = /old/page/ {
return 301 /new/page$is_args$args;
}
または、rewrite
を使用すると、?
が追加されない限り、クエリ文字列が自動的に追加されます。
rewrite ^/old/page/$ /new/page permanent;
場所の構文については this document を、戻り値/書き換えについては this document を参照してください。