gpt4 book ai didi

asp.net-core - 将主页路由到区域内的索引?

转载 作者:行者123 更新时间:2023-12-04 08:47:05 25 4
gpt4 key购买 nike

我想为我的 RazorPage 3.1 核心项目使用区域。但是,我似乎无法将主页从 http://localhost:<port>http://localhost:<port>/Default/Index当我使用 Areas 并将我的 Pages 文件夹移动到 Areas/Default/Pages 时,我的主页出现了明显的 404。每次我启动该项目时,我的主页都会收到 404。

或者我是否应该在 Areas 文件夹之外有 1 Pages 文件夹,其索引如下图所示?那会很奇怪。

enter image description here

我尝试了我能找到的一切,但我无法弄清楚。我认为它必须在 Startup.cs 的某处设置:

            services.AddMvc().AddRazorPagesOptions(options =>
{
options.Conventions.AddPageRoute("/Default/Index", ""); // Or something?
});

和:

public IActionResult Get()
{
return RedirectToAction("Default/Index");
}

这对我不起作用:

最佳答案

Route homepage to Index inside Areas

当用户访问您网站的根 URL 时,您似乎希望在 Default 区域文件夹下显示 index 页面。

为了达到要求,您可以尝试像下面这样进行 URL 重写操作。

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();
}

app.Use(async (context, next) =>
{
if (context.Request.Path=="/")
{
context.Request.Path = "/Default/Index";
}

await next.Invoke();
});

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

app.UseRouting();

app.UseAuthorization();

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

测试结果

enter image description here

关于asp.net-core - 将主页路由到区域内的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64260449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com