0

如何在浏览器中更改“www.abc.com/welcome”之类的视图,但实际路径是“www.abc.com/welcome.aspx”。

当我输入“www.abc.com/welcome”时,将进入路径“www.abc.com/welcome.aspx”,但仍会像“www.abc.com/welcome”一样查看。

我在下面的 web.config 上尝试了此代码,但出现错误:无法识别的配置部分 urlMappings

<urlMappings enabled="true">
  <add url="~/welcome.aspx" mappedUrl="~/welcome" />
</urlMappings>

我想知道还有其他方法吗?

4

3 回答 3

4

您从哪里获得有关此urlMappings部分的信息?IIS 或 ASP.Net 默认不支持它。

我想你可能想看看UrlRewrite Module

有了这个,像你想要的那样设置 url 重写是微不足道的。

于 2012-08-29T07:26:46.223 回答
0

我建议您使用路由 How to: Use Routing with Web Forms

您需要注册UrlRoutingModulerUrlRoutingHandle处理程序才能使用路由功能(更多详细信息可以在上面的文章中找到)。

然后在 global.asax

void Application_Start(object sender, EventArgs e) 
{
    RegisterRoutes(RouteTable.Routes);
}

public static void RegisterRoutes(RouteCollection routes)
{
    routes.Add("BikeSaleRoute", new Route
    (
       "bikes/sale", 
       new CustomRouteHandler("~/Contoso/Products/Details.aspx")
    ));
}
于 2012-08-29T07:51:41.900 回答
0

如果您使用的是 URL 重写模块,则需要确保您将在哪个版本的 IIS 上运行,然后才能使用“/welcome”之类的内容。默认情况下,IIS6 不支持无扩展名 URL。您需要为其运行 ISAPI 过滤器,或者您需要在 IIS7 上运行。

于 2012-08-29T07:29:27.403 回答