RazorPagesでリダイレクト処理を実装する場合はこちらの記事を参照して下さい。
ASP.NET Core で301リダイレクトするコードと実行結果を紹介します。
ASP.NET Coreでリダイレクトする場合は、レスポンスのHttpResponse オブジェクトの、Redirect メソッドを呼び出します。
なお、301リダイレクトする場合は、Redirect メソッドの第二引数にtrue
を指定します。
(レスポンスコンテキストのHttpContextオブジェクト).Response.Redirect("(リダイレクト先URL)");
(レスポンスコンテキストのHttpContextオブジェクト).Response.Redirect("(リダイレクト先URL)", false);
(レスポンスコンテキストのHttpContextオブジェクト).Response.Redirect("(リダイレクト先URL)", true);
ASP.NET Coreアプリケーションを作成します。
下記コードを記述します。
var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.MapGet("/", () => "Hello World!");
app.MapGet("/redirect", async context =>
{
context.Response.Redirect("http://www.ipentec.com", true);
await context.Response.CompleteAsync();
});
app.Run();
MapGetメソッドを利用して、/redirect
URLを実装します。
RequestDelegate内で、Response.Redirect()
メソッドを呼び出し、リダイレクトします。第二引数にtrue
を指定することで301リダイレクトになります。
app.MapGet("/redirect", async context =>
{
context.Response.Redirect("http://www.ipentec.com", true);
await context.Response.CompleteAsync();
});
プロジェクトを実行します。Webブラウザが開きます。今回レスポンスされたデータを確認しますので、DevToolを表示します。
表示後、(アプリケーションルート)/redirect
のURLにアクセスします。
リダイレクト処理が実行され、指定したURLにリダイレクトします。レスポンスデータを確認すると、最初に redirect
の処理があることが確認できます。
リダイレクトの項目のヘッダを確認します。ステータスコードの値が "301" になっており、301リダイレクトされたことが確認できます。
ASP.NET Core で301リダイレクト処理を実装できました。