2017-04-25 4 views
0

私が達成しようとしているのはこれです: 誰かが訪問したとき:smartphone.webshop.nl/home/index ミドルウェアからwebshopにリダイレクトしたい.nl/smartphone/home/index.netコアのミドルウェアからリクエストをリダイレクトすることは可能ですか

サブドームに基づいてデータベースからデータを取得する汎用コントローラを作成したいので、これを行いたいと思います。だから私はすべての呼び出しが同じコントローラに来る必要があります。

これが今の私のミドルウェアです:私はリダイレクトすることができ、どのように私のコントローラ/ MVCの設定は次のようになりますどのように

public Task Invoke(HttpContext context) 
    { 
     var subDomain = string.Empty; 

     var host = context.Request.Host.Host; 

     if (!string.IsNullOrWhiteSpace(host)) 
     { 
      subDomain = host.Split('.')[0]; // Redirect to this subdomain 
     } 

     return this._next(context); 
    } 

私はかなり新しい.netコアですので、あなたの答えを明確にしてください。ありがとうございました。 URL書き換えとASP.NETコアは、すでに(パッケージMicrosoft.AspNetCore.Rewriteで)そのためspecial middleware

チェックドキュメントを持っていると呼ばれています

+0

あなたは 'context.Response.Redirect'を見ましたか? – ColinM

+0

@ColinMはい、しました。それは302を返し、URLを書き換えます。しかし私はそれを望んでいません。私はURLをそのままで、コード内でのみリダイレクトしたい。 – apero

答えて

3

は、「そのまま」あなたはそれを使用することも可能。

もしそうでない場合は、check source codeと書くことができます。

+0

ありがとうございます@ドミトリー – apero

関連する問題