如何在C#中显示不同的URL?

时间:2012-08-29 07:22:58

标签: c# asp.net iis-7

我如何更改像#34; 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>

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

3 个答案:

答案 0 :(得分:4)

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

我想你可能想看看UrlRewrite Module

使用它可以轻松设置url重写,就像你想要的那样。

答案 1 :(得分:0)

如果您正在使用URL重写模块,则需要确保在“/ welcome”之类的内容可用之前将运行哪个版本的IIS。默认情况下,IIS6不支持无扩展名URL。您需要为其运行ISAPI筛选器,否则您需要在IIS7上运行。

答案 2 :(得分:0)

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

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

然后在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")
    ));
}