2016-10-28 6 views
3
は、私は、ウェブサイトのために複数のドメインを持っている

ライブに1つのドメインにリダイレクトしますドメインはhttp://www.example.comであり、他のすべての関連ドメインは自動的にプライマリにリダイレクトされます。DotNetCore 1.0 MVCはどのように自動的に

これまで、私はURLRewriteでこれを行いましたが、DotNetCoreには存在しないと考えられています。

...どうすればいいですか?

また、開発環境に影響を与えたくありません。

+0

か、私はIISの設でこれを行うのですか – Steve

+0

@Steveを設定するIISでそれを単に行うことができますg? –

+0

https://www.iis.net/learn/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module – Steve

答えて

2

DotNetCore 1.0で(も強制的にHTTPS)

を作品の回答

Startup.cs

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 
{ 
    // Other configuration code here... 

    if (env.IsProduction()) 
    { 
     app.Use(async (context, next) => 
     { 
      if (context.Request.Host != new HostString("www.example.com")) 
      { 
       var withDomain = "https://www.example.com" + context.Request.Path; 
       context.Response.Redirect(withDomain); 
      } 
      else if (!context.Request.IsHttps) 
      { 
       var withHttps = "https://" + context.Request.Host + context.Request.Path; 
       context.Response.Redirect(withHttps); 
      } 
      else 
      { 
       await next(); 
      } 
     }); 
    } 
} 
0

あなたは、.NETのコアでURLRewriteを使用することができます - ちょうどASP.NETコア1.1プレビュー1をダウンロードして、あなたが行うことができるようになります:

public class Startup { 

    public void Configure(IApplicationBuilder app, IHostingEnvironment env) { 

     var options = new RewriteOptions() 
      .AddRedirect("(.*)/$", "$1")     // Redirect using a regular expression 
      .AddRewrite(@"app/(\d+)", "app?id=$1", skipRemainingRules: false) // Rewrite based on a Regular expression 
      .AddRedirectToHttps(302, 5001)     // Redirect to a different port and use HTTPS 
      .AddIISUrlRewrite(env.ContentRootFileProvider, "UrlRewrite.xml")  // Use IIS UrlRewriter rules to configure 
      .AddApacheModRewrite(env.ContentRootFileProvider, "Rewrite.txt");  // Use Apache mod_rewrite rules to configure 

     app.UseRewriter(options); 
    } 
} 

ASP.NETコア1.1に既存のプロジェクトを更新するにはプレビュー1あなたは次の操作を行う必要があります。

  • ダウンロードと更新.NETコア1.1 Prevew 1をインストールSDK
  • を使用するようにプロジェクトを更新するには、.NETのコア1.1プレビュー1発表の指示に従ってください。 NETコア1.1プレビュー1
  • は新しい1.1.0-preview1バージョン
を使用するようにASP.NETのコアパッケージの依存関係を更新し、ここで

さらに詳しい情報:https://blogs.msdn.microsoft.com/webdev/2016/10/25/announcing-asp-net-core-1-1-preview-1/

+0

プレビューバージョンは使用していません。これは本番システムになるためです。 –

+0

全体の.NET Coreはまだ生産準備が整っていません... –

+0

.NET Core 1.0は最終版ですか?それはちょうどツールを欠いている? –

関連する問題