从URL中隐藏控制器名称
本文关键字:控制器 隐藏 URL | 更新日期: 2023-09-27 18:12:43
这个问题是关于最新的ASP稳定版本的。网络核心。
就像以前问过的问题一样,我在StackOverflow上浏览过,我想要完成的是,当访问Home
视图文件夹中的Index
以外的任何其他视图时,例如,访问About
, URL阅读:
www.example.com/About
和非:www.example.com/Home/About
在新启动的ASP。Net Core App,在Startup.cs
文件中,有一个Configure函数:
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) {
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
我尝试过的事情:
我已经试着改变路线到:
routes.MapRoute(
"Home",
"",
new { action = Index, controller = Home }
);
不工作。我也试过插入这个:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"OnlyAction",
"{action}",
new { controller = "Home", action = "Index" }
);
但不幸的是,ASP。Net还不能识别IgnoreRoute
函数
还有人遇到这个Core吗?
根据Asp。Net Core Routing文档
下面的代码应该允许你所描述的
routes.MapRoute(
name: "root",
template: "{action}/{id?}",
defaults: new { controller = "Home", action = "Index" });