假设我有一个服务器wid某个虚拟名称为ABC。我还有一个.Net Web应用程序XYZ,其中包含一些.aspx页面,如Home.aspx等。 现在,当我在浏览器中键入服务器名称时,如果我想将Home.aspx页面作为默认页面,Home.aspx会自动打开。在这种情况下我需要做什么。
目前我正在使用此网址访问该应用程序 https://ABC/XYZ/Home.aspx 但我想以这种方式访问应用程序: http://ABC
答案 0 :(得分:3)
我不确定您使用的是哪种版本的iis,但是在iis 7管理器中:
在以前的IIS版本中,只是从网站的属性中执行相同操作。
答案 1 :(得分:3)
IIS中没有办法获得:
指向:
因为XYZ / Home.aspx不是有效的“默认文档”。默认文档必须位于同一文件夹中。
如果你想获得:
指向:
然后看看eglasius的答案。
否则,您需要将Default.aspx设置为默认文档。
然后在您的网站根文件夹中创建一个包含以下内容的文件Default.aspx:
<%@ page language="C#" %>
<%
Server.Transfer("/XYZ/Home.aspx");
%>
答案 2 :(得分:1)
最简单的方法之一是在web.config中声明默认文档。
答案 3 :(得分:1)
在IIS中,您可以在文档选项卡中设置默认文档。在此选项卡中,您可以将home.aspx设置为要加载的默认文档。 但是,当您转到站点的根目录时,无法将树中的文件设置为要加载的默认文档。为此,您必须重定向。
你可以这两种方式:
自己动手。
通过在ABC服务器的根目录中安装default.aspx文档并将其重定向到/xyz/home.aspx或只是/ xyz并在IIS的xyz文件夹中设置以在默认文档列表中包含home.aspx 。
<%@ Page Language="C#" %>
<% Response.Redirect("path", true); %>
您也可以使用Response.Transfer,但不会更改网址。
答案 4 :(得分:1)
您可以使用IIS中的URL重写来执行此操作。见http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/
答案 5 :(得分:0)
你可以这样做:
1-创建一个HttpHandler并在web.config或IIS中注册它:
public class MyHandler : IHttpHandler
{
public bool IsReusable
{
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
//you can use any way you see good to determin that the user requestd the default document
//this line is not practical but just to make the idea clear
//the following line could need more revising.
if (context.Request.Url.ToString() == context.Request.Url.GetLeftPart(UriPartial.Authority)
context.Server.Transfer("MyPage.Aspx");
}
}
这是Web.Config:
<system.web>
<httpHandlers>
<add verb="*" path="*" type="HandlerNameSpace.MyHandler, HandlerAssembly" />
</httpHandlers>
</system.web>
2-或创建一个HttpModule:
public class MyModule : IHttpModule
{
public void Dispose()
{
//Dispose
}
public void Init(HttpApplication context)
{
//hook into the requesting process and try to figure the Url
}
}
您可以在代码AFAIK中注册
public static IHttpModule Module = new MyModule();
void Application_Start(object sender, EventArgs e)
{
base.Init();
Module.Init(this);
// Code that runs on application startup
}