ASPX页面重定向到

ASPX页面重定向到

本文介绍了如何将.ASPX页面重定向到.NET Core Razor页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在将一个大型的asp.net网站移至.NET Core Razor页面站点.整个互联网上都有指向我们网站的链接,我们希望这些链接在迁移后能够正常工作.我们将保留相同的url格式,但没有扩展名.aspx.

总结,我们想要我们的旧网址:

example.com/item.aspx 由.net核心剃须刀页面处理,如

example.com/item

解决方案

您可以使用

We are moving a big asp.net web site to .NET Core Razor pages site. All over the internet there are links that point to our site and we want those links to work after our migration. We will kept the same url format, but without the extension .aspx.

Summary, we want our old url:

example.com/item.aspx be handle by .net core razor page, as

example.com/item

解决方案

You could use the URL Rewriting Middleware to remove the ".aspx" extensions.

Check the following code: Use AddRedirect to create a rule for rewriting URLs

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        else
        {
            app.UseExceptionHandler("/Error");
            // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
            app.UseHsts();
        }

        //using Regex match the .aspx extension and remove it.
        var options = new RewriteOptions()
                .AddRedirect(@"(\w*)(.aspx)", "$1");
        app.UseRewriter(options);

        app.UseHttpsRedirection();
        app.UseStaticFiles();

        app.UseRouting();

        app.UseAuthorization();

        app.UseEndpoints(endpoints =>
        {
            endpoints.MapRazorPages();
        });
    }

Then, the screenshot like this:

这篇关于如何将.ASPX页面重定向到.NET Core Razor页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 11:14