来自以下网址:
http://www.mywebsite.com/default.aspx
我想删除default.aspx,以便网址如下所示:
http://www.mywebsite.com/
我需要一种快速而干净的方法来做到这一点,我只需要使用default.aspx页面和没有其他页面。提前谢谢。
答案 0 :(得分:7)
使用以下代码更改您的webconfig:它解决了我同样的问题。
<?xml version="1.0"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="default.aspx Redirect" stopProcessing="true">
<match url="^(.*\/)*default\.aspx$" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_METHOD}" negate="true" pattern="^POST$" />
</conditions>
<action type="Redirect" url="{R:1}" redirectType="Permanent"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
答案 1 :(得分:2)
您可以使用Routing
Global.asax文件中的
protected void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.MapPageRoute("defualt",
"",
"~/Default.aspx");
}
并在您的重定向页面调用
Response.Redirect(GetRouteUrl("defualt", null));
了解更多信息: http://msdn.microsoft.com/en-us/library/cc668201(v=vs.100).aspx
答案 2 :(得分:0)
默认情况下,默认页面可能会有所不同,可能是default.html或index.html或default.aspx,具体取决于首选项。因此,如果你只是想从你提到的URL中删除它,请不要指定页面名称,默认情况下default.aspx会打开,并且不会在url中显示
如果您想进行URL重写,有多种方法可以执行此操作,您可以在web.config中进行更改,或者可以使用自己的httpModule查看以下链接: -
http://www.codeproject.com/Articles/2538/URL-Rewriting-with-ASP-NET
答案 3 :(得分:0)
您可以使用Uri类
var uri = new Uri("http://www.mywebsite.com/default.aspx");
string urlIWant = uri.GetLeftPart(UriPartial.Authority);