English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

NodeJS 基礎チュートリアル

NodeJS Express.js

NodeJS 缓存&URL;

NodeJS MySql

NodeJS MongoDB

NodeJS ファイル(FS)

NodeJS その他

Node.js URLをリダイレクトする

Node.js リダイレクト URL:このNode.jsチュートリアルでは、リダイレクトURLを学びます。

リダイレクトは以下の状況に適用できます:

  • 一部のリソースが新しい位置に永続的に移行され、ユーザーを移行されたリソースの新しい位置にリダイレクトしたい場合があります。

  • ウェブアプリケーションの一部のページが削除されており、そのページにリクエストがあった場合、ユーザーをホームページやカスタムページにリダイレクトしたい場合があります。

HTTPリダイレクトは主に3種類あります。

ただし、HTTPリダイレクトコード(例えば301、302、307などがオリジナルまたはリダイレクトURLのページランクに影響を与え、各リダイレクトコードの影響は異なります。例えば、リソースを永続的に移行した場合、応答で使用します301 HTTPコードがリダイレクトのURLに果汁を渡し、302または307ならない。

以下の例では、2つのページ:page-a.htmlとpage-b.html、ウェブアプリケーションがそれらにサービスを提供します。私たちは、404_当該.htmlがリソースが存在しない場合に表示されます。

Node.js リダイレクト URL 例

この例では、リクエストのURLがリダイレクトされる必要があるシーンを示します。pageに対してリクエストを受け取るとき、-c.htmlのリクエスト時、ウェブクライアントにリダイレクト応答を送信します(pageの検索に移行します)。-b.html)。

var http = require('http'); 
var fs = require('fs'); 
 
// HTTPサーバーを作成します
 
    
    if (req.url == '/page-c.html') { 
        // 応答で使用します301(永続移行)HTTPコードでページにリダイレクトします-b.html
        res.writeHead(301, { "Location": "http://" + req.headers['host'] + '/page-b.html' }); 
        return res.end(); 
    } else { 
        // その他のURLに対して、ページを応答して試みてください
        console.log(req.url) 
        // 
        fs.readFile(req.url.substring(1),}} 
            function(err, data) {  
                if (err) throw err; 
                res.writeHead(2 
                res.write(data.toString('utf8); 
                return res.end(); 
         
      
 ).listen(8085);

ターミナル出力

$ node node-js-http-redirect.js

ブラウザを開き、開発者ツールを表示して、URL「 http:// localhost:8085/page-c.html”。

「開発者ツール」の「ネットワーク」セクションで、リクエストが新しいページにリダイレクトされていることを確認します。

最初のリクエストでは、Node.jsアプリケーションから301応答コードを使用します。

Node.jsリダイレクトURL例ーファイルが見つかりませんエラー

この例では、リクエストのファイルが見つからない場合を示します。ただし、あなたはWebクライアントに退屈な404エラーページ。代わりに、他のページ、例えばpage-a.html。

 var http = require('http'); 
var fs = require('fs'); 
 
// HTTPサーバーを作成します
 
    var filePath = req.url.substring(1); 
    fs.readFile(filePath, 
        function(err, data) {  
            // ファイルを読み込む際にエラーが発生した場合、pageにリダイレクトしてください-b.html
            if (err){ 
                // 応答時使用302 HTTPコードリダイレクトにpage-b.html
                res.writeHead(302, { "Location": "http://" + req.headers['host'] + '/page-b.html' }); 
                return res.end(); 
             
            res.writeHead(2 
            res.write(data.toString('utf8); 
            return res.end(); 
     
 ).listen(8085);

ターミナル出力

 
 $ node node-js-http-redirect-file-not-found.js

ブラウザを開き、開発者ツールを表示して、URL「 http:// localhost:8085 / page-n.html”。

「開発者ツール」の「ネットワーク」セクションで、リクエストが新しいページにリダイレクトされていることを確認し、応答に302(一時的に移動)のHTTPコード。