GNU/Linux >> Linux の 問題 >  >> Linux

Nginx - リダイレクトのために書き直すか返す?

解決策 1:

あなたの選択肢 1:

return 301 $scheme://$host$request_uri;

まさにあなたが望むものです。

rewrite ^ http://$host$request_uri? permanent; の理由がわからない これは、強制的に 301 を返す適切な構文です。

解決策 2:

技術的には、両方のオプションを使用できます。彼らは働くことができます。

NGINX のドキュメントによると、return を使用してください できれば . NGINX がリクエストの処理を停止するため (正規表現を処理する必要がないため)、よりシンプルで高速です。さらに、3xx でコードを指定できます。 シリーズ:

return (301 | 302 | 303 | 307) url;

正規表現を使用して URL を検証する必要がある場合、または元の URL の要素をキャプチャする必要がある場合 (対応する NGINX 変数にないことは明らかです)、 rewrite を使用する必要があります。 . rewrite を知っている必要があります コード 301 または 302 のみを返します。

rewrite regex URL [flag];

リターンとリライトの詳細については、NGINX Web サイトを参照してください。


Linux
  1. NGNIXの異なるドメインに対して複数のバージョンのPHPを実行する

  2. ループ出力のパイピングはローカル変数の変更を防ぎますか?

  3. PleskでウェブサイトのSSLリダイレクトを設定するにはどうすればよいですか?

  1. JoomlaパーマリンクのModリライト

  2. SSL キーのアクセス許可?

  3. 設定ファイルでnginx書き換えルールをデバッグする最良の方法は?

  1. KibanaのNginxリバースプロキシを構成する方法

  2. nginx-413リクエストエンティティが大きすぎます

  3. 一致しない場合の sed の戻りコード