ホームページ >バックエンド開発 >PHPチュートリアル >nginx 301 302ジャンプの設定方法と概要

nginx 301 302ジャンプの設定方法と概要

WBOY
WBOYオリジナル
2016-07-29 08:57:211084ブラウズ

転載元: http://blog.sina.com.cn/s/blog_5d73ba76010145rr.html

まず、nginx 301 302 Jump に関する完全なコード例を見てください。

301 ジャンプ設定:

server {
listen 80;
server_name 123.com;
rewrite ^/(.*) http://456.com/$1 Permanent;
access_log off;
}

302 Jump Transfer設定:

server {
listen 80;
server_name 123.com;
rewrite ^/(.*) http://456.com/$1 redirect;
access_log off;
}

nginx 301の詳細なドキュメントを参照してください。 302 Jump

server {
server_name test.com;
rewrite ^/(.*) http://www.test1.com/$1 Permanent;
}

last – 基本的にこの Flag を使用します。
break - Rewirteを中止し、マッチングを継続しません
redirect - 一時リダイレクトのHTTPステータス302を返します
permanent - 永続リダイレクトのHTTPステータス301を返します

NginxのリダイレクトはNginxのHttpRewriteModuleを使用しますので、使い方を簡単に説明します。 . メソッド:
rewrite コマンド

nginx の rewrite は、Apache の rewrite ルールと同等です (ほとんどの場合、元の Apache の rewrite ルールを引用符で囲んで直接使用できます) サーバー、ロケーション、および IF 条件判定ブロックで使用できます。
正規表現を書き換えてターゲットのフラグタグを置き換えます。
flagタグは次の形式を使用できます:
last – 基本的にこのFlagを使用します。
break - Rewirte を中止し、マッチングを継続しません
redirect - 一時的なリダイレクトの HTTP ステータス 302 を返します
permanent - 永続的なリダイレクトの HTTP ステータス 301 を返します

特記事項:

last と Break は、ブラウザの URL 書き換えを実装するために使用されますアドレス バーの URL アドレスは変更されませんが、サーバー側のアクセス パスは変更されています。

リダイレクトと永続は URL ジャンプの実装に使用され、ブラウザのアドレス バーにはジャンプ後の URL アドレスが表示されます。たとえば、次の Set nginx to redirect files under a specific directory to another directory $2 は、2 番目の括弧 (.*) 内の対応する文字列に対応します:

location /download/ {

rewrite ^(/download/.*) / m/(.*)..*$ $1/nginx-rewrite/$2.gzbreak;
}
nginx リダイレクトの IF 条件判定

nginx の IF 条件判定はサーバーとロケーションの両方の状況で使用できます。以下:
正規表現

例:
一致判定

~ は大文字と小文字を区別する一致です。 !~ は大文字と小文字を区別しない一致です。

~* は大文字と小文字を区別しない一致です。 match Write 不一致
たとえば、次の設定 nginx は、ユーザーが ie を使用するときに /nginx-ie ディレクトリにリダイレクトします。
}
ファイルとディレクトリの判定
-fと!-fはファイルが存在するかどうかを判定します
-dと!-dはディレクトリが存在するかどうかを判定します
-eと!-eはファイルまたはディレクトリが存在するかどうかを判定します
-xと! -x ファイルが実行可能かどうかを判断します
たとえば、次の設定は、ファイルとディレクトリが存在しない場合に nginx をリダイレクトします:
if (!-e $request_filename) {
proxy_pass http://127.0.0.1;
}
return
http コードを返します。たとえば、nginx アンチホットリンクを設定します:
location ~* .(gif|jpg|png|swf|flv)$ {
valid_referers none block www.test.com www.test1.com;
if ( $invalid_referer) {
return 404

}
}

上記では、nginx 301 302 ジャンプの設定方法と概要を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人に役立つことを願っています。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。