我的默认文件是在子文件夹而不是root中如何在asp.net 2.0网站中将其设为默认值.
尝试将iis7默认文档设置为'/pages/default.aspx''〜/ pages/default.aspx',但它不起作用.
默认文档与起始页面不同.默认文档意味着如果我请求mysite.com/somefolder
并且没有指定文件,IIS应显示哪个文件.
如果要使用特定页面作为主页,请创建Default.aspx文件并将其写入其代码隐藏类:
public override void ProcessRequest(HttpContext context) { context.Response.Redirect("pages/default.aspx", true); }
由于客户端可能已禁用Javascript,因此服务器端方法将更可靠.但是,最好发出永久重定向而不是简单Response.Redirect
.从SEO的角度来看,使用JS做它也会很糟糕.
您不需要创建虚拟Default.aspx页面.
在Global.asax.cs文件中,编写以下内容:
public void Application_Start(object sender, EventArgs e) { var routeCollection = RouteTable.Routes; routeCollection.MapPageRoute("DefaultRoute", string.Empty, "~/YourDesiredSubFolder/YourDesiredDocument.aspx"); }
说明:
Application_Start代码保证在应用程序启动时运行一次且仅运行一次.
第一行代码获取应用程序的URL路由的集合.
第二行代码定义了一个新路由,指向您希望的子文件夹中的内部页面.
第二个参数为空,表示在没有请求特定页面且没有存在默认文档时使用此路由.