[英]url rewriting without page name
我想將這3個路徑路由到默認的基本URL路徑。
www.mysite.com/page1.aspx
www.mysite.com/page2.aspx
www.mysite.com/page3.aspx
我希望在地址欄中顯示這3頁,如下所示:www.mysite.com
我的asp.net項目中只有這3頁。
如何在IIS 6.0的asp.net 3.5 sp1中執行此操作。
void Application_BeginRequest(object sender, EventArgs e)
{
switch (HttpContext.Current.Request.Url.AbsolutePath.ToLower())
{
case "/page1.aspx":
HttpContext.Current.RewritePath("~/default.aspx");
break;
case "/page2.aspx":
HttpContext.Current.RewritePath("~/default.aspx");
break;
case "/page3.aspx":
HttpContext.Current.RewritePath("~/default.aspx");
break;
}
}
使用此代碼,出現錯誤:
Server Error in '/' Application.
The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
Requested URL: /default.aspx
問題在於重寫網址。 它正在搜索default.aspx文件。 沒有default.aspx文件。 有page1.aspx文件。
為什么要搜索default.aspx? 我只想重寫路徑..
你對HttpContext.Current.RewritePath
調用是說“如果有人要求/page1.aspx
(或/page2.aspx
或/page3.aspx
),請改為服務~/default.aspx
”。
當然如果~/default.aspx
不存在,這將拋出404。
你想做什么? 您說您“想要將這3條路徑路由到默認的基本URL路徑”但是如果~/default.aspx
不存在,該路徑是什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.