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

Nginxを使用してリダイレクトする方法

Nginx(engine-xと発音)は、強力なオープンソースの高性能HTTPWebサーバーです。リバースプロキシまたはPOP3/IMAPプロキシとして機能します。これは3番目に人気のあるWebサーバーであり、その強化されたパフォーマンス、使いやすさと構成、安定性、および最小限のリソース使用率でよく知られています。そのため、このチュートリアルでは、Nginxを使用してさまざまな方法でトラフィックをリダイレクトする方法を紹介します。

Datanyzeによると、NginxはWebサーバー市場で32%の市場シェアを誇っています。 Github、Netflix、CloudFlare、Hulu、Airbnb、Hulu、WordPressなどの多くの有名なウェブサイトをサポートしています。

Nginxでのリダイレクト

基準に基づいてWebサイトのURLを別のアドレスまたはポイントに転送する機能は、NginxWebサーバーの重要な機能です。 Nginxリダイレクトはシンプルでセットアップが簡単です。多くの場合、ユーザーはSEOランキングの良いページをリダイレクトすることを選択します。たとえば、CMSから別のプラットフォームに切り替える場合です。これにより、URL構成が完全に変更されます。したがって、現在のページを適切なSERP位置に保つために、古いURLを新しいページに再ルーティングできます。

このチュートリアルでは、永続的なものと一時的なものの2種類のNginxリダイレクトを作成する方法について説明します。 NginxをVPSにインストールすることを忘れないでください。

一時的および永続的なNginxリダイレクトの説明

一時的なリダイレクトは、ページの場所をある場所から別の場所に一時的に変更する必要がある場合に役立ちます。リダイレクト応答コード302 ページの一時的な移動を指定するために使用されます。

Webサイトのメンテナンスが実行されている場合、一時的なリダイレクトを使用して、Webサイトが利用できないことをユーザーに通知します。もう1つの例は、不完全なページの一時的なリダイレクトを行う場合です。そのページを別のポイントまたはメインページにリンクします:

訪問者–>ウェブサイトページ–>ウェブサイトはメンテナンス中です

一方、永続的なNginxリダイレクトは、古いページまたはドメインを新しい場所またはドメインに永続的にリンクする必要があることをWebブラウザーに通知します。この変更をマッピングするには、応答コード 301をリダイレクトします ページの永続的な移動を指定するために使用されます。これらの種類のリダイレクトは、ユーザーがドメイン名を変更したいが、ブラウザがドメイン名にアクセスする必要がなくなった場合に役立ちます。

たとえば、ウェブサイトのドメインを変更したり、古いページの新しいページを作成したりする場合:

訪問者–>www.devisers.in/homeをクリック->wwwにリダイレクトされます。考案者。 in / home1

Nginxでのページリダイレクト

まず、SSH経由でVPSにアクセスする必要があることを忘れないでください。問題が発生した場合は、PuTTYチュートリアルをご覧ください。

Nginxでは、ほとんどのリダイレクトは、組み込みの書き換え機能を使用して実現できます。これは、Nginxのクリーンインストールで利用できるデフォルトの機能であり、永続的と一時的の両方の種類のNginxリダイレクトを形成できます。プレーンな形式では、少なくとも2つのケース、つまり古いURLと新しいURLが必要です。

NginxWebサーバー上の一時的または永続的な場所にページをリダイレクトするのは簡単で簡単です。場所/etc / nginx / sites-enabled / default 必要に応じて変数を変更しながら、次のコードを貼り付ける必要があります。

Location path_pattern {        
     rewrite ^/oldURL$ https://www.domainone.com/newURL redirect; 
}

ページを別のリンクに永続的にリダイレクトする場合は、上記のコマンドで「リダイレクト」の代わりに「永続的」を使用するだけです。一方、path_paternは通常 /index.html

Nginxによるドメインのリダイレクト

あるドメインを別のドメインにリダイレクトするには、ターミナルで次のコマンドを使用します。

server {
      listen 80;
      hostname devisers.in www.devisers.in;
      rewrite ^ http://www.devisers.com$request_uri? permanent;
}

ここでは、2つのドメインを使用します。リダイレクトしたいもの– www.devisers.inと新しいもの–www.devisers.com。

HTTPからHTTPS(SSL)へのNginxリダイレクト

HTTPとHTTPSは異なるポート(HTTPポート80とHTTPSポート443)を使用します。HTTPSを使用すると、セッションを乗っ取る可能性のあるMITM攻撃からユーザーを保護できるため、はるかに便利です。この方法を機能させるには、SSLがすでに設定されている必要があることに注意してください。したがって、あなたとあなたの訪問者の間で送信されるすべての情報を保護するには、HTTPからHTTPSに送信されるすべての要求をリダイレクトすることが有益です。そのために、この変更を同じファイルに追加できます:

server {
listen 80 default_server;
server_name _;
return 301 https://$host$request_uri;
}

これで、HTTPデフォルトサーバーのすべてのトラフィックがHTTPSにリダイレクトされます。

Nginxリダイレクト固有のサイト

これは、さまざまなサイトやアプリを使用していて、単一のサイトのみをリダイレクトする場合に不可欠です。以下の手順に従ってください:

server { 
listen 80; 
server_name devisers.in;
     return 301 https://devisers.in$request_uri; 
}

ここでは、サイトhttp://www.devisers.inをhttps://www.devisers.in

にリダイレクトしています。

wwwから非wwwへのリダイレクト

訪問者に、www.devisers.inではなくdevisers.inなどのWebページのプレーンドメインにアクセスしてもらいたい場合がよくあります。 Nginxでwwwからwww以外にリダイレクトするオプションはたくさんありますが、簡単な方法の1つは以下のとおりです。

server {
    server_name www.devisers.in;
    return 301 $scheme://devisers.in$request_uri;
}
を返します

重要! これは永続的なリダイレクトまたは「301リダイレクト」です。

次のコマンドを使用して、Nginx Webサーバーを再起動し、変更を有効にします。

sudo systemctl restart Nginx

www以外からwwwにリダイレクトする場合は、上記のコマンドに記載されているWebサイトのURLを置き換えるだけです。 www.devisers.inをdevisers.inに、またはその逆に置き換えます。

結論

Nginxは、最も強力で使いやすいWebサーバーの1つであり、上記のように一時的および永続的なリダイレクトを行うことができます。

これで、HTTPからHTTPSへ、wwwまたはNon-wwwから、またはその逆にNginxリダイレクトを作成する方法がわかりました。間違ったリダイレクトは検索ランキングに影響するため、正しいリダイレクトタイプを使用していることを確認してください。正確なリダイレクトの助けを借りて、必要に応じてサイト構造を変更しながら、現在のWebプレゼンスを活用できます。

このチュートリアルがお役に立てば幸いです。次でお会いしましょう。


Linux
  1. NGINXでHTTP2を有効にする方法

  2. vimでpylintを使用する方法

  3. dos2unix の使い方

  1. LinuxでBusyBoxを使用する方法

  2. Linuxでcronを使用する方法

  3. NGINXでETagを無効にする方法

  1. NGINXをリバースプロキシとして設定および使用する方法

  2. LinuxでSuコマンドを使用する方法

  3. Nginxを使用してURLをリダイレクトする方法