www.example.com example.com www.example.de example.deのように複数のサーバー名があります。引数がない場合、私は---例nginxはドメインに基づいてリダイレクトし、URLを修正します
www.example.com ---> www.example.com?language=en
example.de用URL に言語を改正したいと思います> example.de?language=de
regrads
www.example.com example.com www.example.de example.deのように複数のサーバー名があります。引数がない場合、私は---例nginxはドメインに基づいてリダイレクトし、URLを修正します
www.example.com ---> www.example.com?language=en
example.de用URL に言語を改正したいと思います> example.de?language=de
regrads
あなたは空の文字列と$args
を比較して、引数の不在のためにテストすることができます。たとえば:あなたは、あなたのドメインが異なるserver
ブロック内に実装されている場合
if ($args = "") {
return 301 $scheme://$host$request_uri?language=en;
}
は、あなたが適切return
文をカスタマイズすることができます。
複数のホスト名をサポートする単一のserver
ブロック内にすべてを実装する必要がある場合は、map
ディレクティブを使用して言語パラメータの値を計算する必要があります。詳細については、this documentを参照してください。
これは完璧な解決策ではありません。エッジ条件www.example.com?
はwww.example.com??language=en
になりますが、これはうまく見えません。