隐藏页面的扩展名,如.aspx

时间:2013-09-30 07:15:37

标签: c# asp.net

我有一条路径说http://default.com/index.aspx这里我可以看到页面“index.aspx”页面内容,但我不想显示“.aspx “我的浏览器网址上的扩展名。 我可以将文件夹名称设为“index”并将index.aspx页面放在该文件夹中,然后将写入URL设为http://default.com/index/

但是还有另一个简单而好的方法吗?我正在使用asp.net 4.0

5 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

当您使用asp.net 4.0时,您可以使用NuGet包管理器添加“Microsoft.AspNet.FriendlyUrls”库。它看起来像这样:enter image description here

安装第一个(也将自动安装下一个)。安装完成后,在App_Start文件夹下添加一个cs文件名'RouteConfig.cs';文件的代码如下:

public static class RouteConfig
{
    public static void RegisterRoutes(RouteCollection routes)
    {
        var settings = new FriendlyUrlSettings();
        settings.AutoRedirectMode = RedirectMode.Permanent;
        routes.EnableFriendlyUrls(settings);
    }
}

要启用友好网址,您需要将以下代码添加到global.asax

    void Application_Start(object sender, EventArgs e)
    {

        RouteConfig.RegisterRoutes(RouteTable.Routes);
    }

http://msdn.microsoft.com/en-us/library/jj891072(v=vs.100).aspx

答案 2 :(得分:0)

如果你谷歌进行网址重写,应该有很多结果可以告诉你如何将http://default.com/index.aspx?value=13变成http://default.com/index/13

答案 3 :(得分:0)

答案 4 :(得分:0)

我多年来一直使用UrlRwrting.net,效果很好。

使用该DDL,您需要在webconfig中添加的内容如下:

<urlrewritingnet defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
  <rewrites>
    <add name="rule1" virtualUrl="^~/(.*)/" destinationUrl="~/$1.aspx" ignoreCase="true"/>
    <add name="rule2" virtualUrl="^~/(.*)" destinationUrl="~/$1.aspx" ignoreCase="true"/>
  </rewrites>
</urlrewritingnet>