nginxで書き換えジャンプを構成する
1つは、書き直しの使い方の紹介
1.ジャンプシーンを書き直す
1.ユーザーが閲覧するURLは、より標準化された外観になり、開発者や製品担当者のニーズを満たすように調整できます
。2 。検索エンジンがWebサイトのコンテンツを検索し、ユーザーエクスペリエンスを向上させるために、企業は動的URLアドレスを静的アドレスに偽装してサービスを提供します。 。
3. URLが新しいドメイン名に変更されたら、古い訪問を新しいドメイン名にジャンプさせます。たとえば、JD.com
で360buy.comにアクセスすると、jd.comにリダイレクトされます。4。特別な変数、ディレクトリ、およびクライアント情報に基づいてURLを調整します。
2.ジャンプの実装を書き直します
Nginxは、ngx_http_rewrite_moduleモジュールを介したurlの書き換えとif条件の判断をサポートしていますが、それ以外はサポートしていません。さらに、このモジュールにはPCREサポートが必要です。NginxをコンパイルするときにPCREサポートを指定する必要があり、デフォルトでインストールされます。関連する変数のリダイレクトとさまざまな構成の選択に従って、ある場所から別の場所にジャンプしますが、このループは最大10回実行でき、その後Nginxは500エラーを返します。同時に、書き換えモジュールには、新しい変数を作成してその値を設定するためのset命令が含まれています。これは、条件の識別の記録、他の場所へのパラメーターの受け渡し、実行内容の記録など、状況によっては非常に役立ちます。リライト機能は、Nginxが提供するグローバル変数または自分で設定した変数を通常の式やフラグと組み合わせて使用し、URLのリライトとリダイレクトを実現します。
3.実際のシーンを書き直す
実際の作業シナリオでは、Nginxジャンプ要件を達成するための3つの方法があります。
- ジャンプのマッチングに直接リライトを使用できます
- グローバル変数を照合した後にジャンプする場合も使用できます
- さらに、locationを使用して照合してジャンプすることも
できるため、書き換えはサーバーにのみ配置できます{}、if {}、location {}セクション、
locationは、渡されたパラメーターを除き、ドメイン名の後の文字列でのみ機能します
2、構文形式を書き換えます
1.コマンドフォーマットを書き換えます
2.一般的に使用される正規表現メタ文字がサポートされています
3.ジャンプ後のコンテンツ
通常、リダイレクト先のWebページまたはWebサイトのURLドメイン名アドレスパス情報です。
4.フラグマーク
4.1。フラグの説明
4.2。最後のタグとブレークタグの比較
3、ロケーションマッチングルール
1.場所の分類
2.ロケーションの通常のマッチングに一般的に使用される式
3.ロケーションマッチングの優先順位
4.ロケーション優先度の例
5.書き換えと場所の比較
第4に、ドメイン名IPおよびその他の方法に基づくリダイレクトの構成
nginxサービスはサーバー側にデプロイされています。クライアントはドメイン名解決サービスを完了しました。
ドメイン名解決用の構成ファイルの場所:
Linuxのホストファイルパスは次のとおりです。/etc/hosts
ウィンドウのホストファイルパスは次のとおりです。C:\ Windows \ System32 \ drivers \ etc \ hosts
1.ドメイン名に基づいてリダイレクトする
現在、会社の古いドメイン名www.wlm.comにはビジネス要件と変更があり、代わりに新しいドメイン名www.wat.comを使用する必要があります。ただし、古いドメイン名を廃止することはできず、新しいドメイン名にジャンプする必要があります。具体的な構成は以下のとおりです。
[root@Nginx ~]# vim /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name www.wlm.com;
charset utf-8;
access_log /var/log/nginx/wlm.access.log;
location / {
root html;
index index.html index.htm;
if ($host = 'www.wlm.com'){ //如果你输入这个网站
rewrite ^/(.*)$ http://www.wat.com/$1 permanent;
//跳转到另一个网站的任何位置
}
}
ドメイン名に基づくジャンプテストでジャンプが
達成されました
2.クライアントIPに基づくアクセスリダイレクト
たとえば、会社のビジネスバージョンは現在オンラインであり、コンテンツへのすべてのIPアクセスには固定のメンテナンスページが表示され、会社のIPアクセスのみが正常です。
[root@Nginx ~]# vim /usr/local/nginx/conf/nginx.conf
server {
listen 80;
server_name www.wlm.com;
charset utf-8;
access_log /var/log/nginx/wlm.access.log;
set $rewrite true;
if ($remote_addr = '20.0.0.1'){
set $rewrite false;
}
if ($rewrite = true){
rewrite (.+) /wh.html;
}
location = /wh.html {
root /usr/local/nginx/html/;
}
[root@Nginx ~]# cd /usr/local/nginx/html/
[root@Nginx html]# vim wh.html
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
</head>
<body>
<h1>维护 中</h1>
</body>
</html>
試験結果