2017-08-04 8 views
0

301鉛筆がそれをサポートしていないため、入れ子になっている前のサイトのURLをリダイレクトします。どのように鉛筆を入れたサイトからURLをリダイレクトするのですか?

このため/Bにページ/ B

私はで実験されている/ HTTP/request_handler.jsを含むが、いくつかの問題に直面して。

コールは内部で来ることはありませんRequestHandler.prototype.handleRequestあるいはRequestHandler.prototype.onSessionRetrieved

。したがって、私は要請ハンドラ内のコードを配置していることを確認した後に(これらのメソッドはどこから呼び出されていないようです) REQは公共のリソースまたはAPIのためではありません、私は新しいURLを作成し、

return this.doRedirect(newUrl, 301)

を実行これは実際に動作しますが、私はREC同時に彼らは、私は変更する必要があり、特定のどのコントローラわからないようにエラー

#1075はずっと私を助けていない送信された後eive

は、ヘッダーをレンダリングすることはできません。私はできるだけ早くreqをキャッチし、それがページの場合はページにリダイレクトされているかどうかを確認する必要があります。

ありがとうございます。

答えて

0

リダイレクトにはいくつかの方法があります。 コントローラまたはミドルウェアからそれらを実行できます。あなたが正しいのは、要求ハンドラ内のいくつかの関数が呼び出されていないという点です。これらは、鉛筆チームがそのようにマークしていないにもかかわらず、非難されています。彼らは、多くの要求ハンドラ機能を/include/http/router.jsinclude/http/middleware/index.jsに置き換えました。プラグインは独自のミドルウェアを登録してリクエストパイプラインをハイジャックすることができます。

独自のミドルウェアの作成に関する詳細は、wikiのAdvanced Routingを参照してください。

ルーティングフレームワークを使用すると、プラグインはミドルウェアを登録することができます。ミドルウェアは、リクエストを検査してから、特定の基準に基づいてリダイレクトすることができます。ルーターはreq.routerからアクセスでき、そこからreq.router.redirect(Source)を呼び出すことができます。

参考:#1224

+0

ありがとうございました。 – Touqeer

関連する問題