クエリ文字列を保持しながらNginxワイルドカードサブドメインリダイレクト

クエリ文字列を保持しながらNginxワイルドカードサブドメインリダイレクト

たとえば、次にsub1.example.comリダイレクトしながらサブドメインをURLの末尾に追加している間、ワイルドカードサブドメインを新しいURLにリダイレクトしたいとします。www.newdomain.example/categories/sub1

server {
server_name ~^(.*)\.example\.com$ ;
return 301 $scheme://newdomain.example/categories/;
}

?Nginxは最後にブロックされないので、基本的にこれを追加すると思います。

ベストアンサー1

または、次のような場合は悪を使用しないでください。

server {
  server_name ~^(.*)\.example\.com$;
  return 301 $scheme://www.newdomain.example/categories/$1$request_uri;
}

$ request_uriには既にクエリ文字列/パラメータが含まれています。次を参照してください。http://nginx.org/en/docs/http/ngx_http_core_module.html

$request_uriを使用したくない場合は、$ is_args $argsペアについても言及したいと思います。

  location = /from {
    return 301 /to$is_args$args;
  }

おすすめ記事