Nginx——Rewrite用法詳細

1424 ワード

目次
1、Rewriteの定義
2、シーンを適用する
3、Rewirteの文法 
4、正規表現
 5、例
1、Rewriteの定義
rewrite機能はnginxが提供するグローバル変数または自分で設定した変数を使用して、正規表現とフラグビットを組み合わせてurlの書き換えとリダイレクトを実現します.
rewriteはserver{},location{},if{}にのみ配置でき,ドメイン名の後ろに渡されたパラメータを除く文字列にのみ機能する.たとえばhttp://seanlook.com/a/we/index.php?id=1&u=str/a/we/index.phpのみ書き換えます.
2、シーンを適用する
  •  ユーザが閲覧するURLを調整し、仕様
  • に見えるようにする.
  • 検索エンジンにウェブサイトの内容を収録させるために、ユーザーにより良い体験をさせる
  • Webサイトが新しいドメイン名を変更した後
  • 特殊な変数、ディレクトリ、クライアント情報に基づいてジャンプ
  • を行う.
    3、Rewirteの文法 
    rewrite regex replacement [flag];
    flagタグの説明:
    last  #このルールの照合が完了したら、新しいlocation URIルールを下に照合し続けます.
    break  #この規則の一致が完了すると終了し、後の規則に一致しません.
    redirect  #戻る302一時リダイレクト、ブラウザアドレスにジャンプ後のURLアドレスが表示されます
    permanent  #301の永続リダイレクトを返します.ブラウザのアドレスバーには、ジャンプ後のURLアドレスが表示されます.
    4、正規表現
    正則
    説明
    正則
    説明.改行以外の任意の文字を一致させる$一致文字列の終了?0回または1回繰り返す{n}n回繰り返す+1回以上繰り返す{n,}n回以上繰り返す*0回以上繰り返し[c]単一文字cに一致\d一致する数値[a-z]a-z小文字のいずれかに一致
    ^
    一致文字列の開始
    (pattern)
    (pattern)間で一致する内容は、後に$1で参照でき、$2は前の2番目の()の内容を表す
     5、例
    server {
            listen 80;
            server_name www.mfc.com;
            rewrite  ^/api/(.*)  http://www.test.com/$1 permanent;
    )
  • アクセスアドレス:www.mfc.com/api/login
  • URLは、www.test.com/login
  • と書き換えられます.