0

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

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

4

3 回答 3

1

当您使用 asp.net 4.0 时,您可以使用 NuGet 包管理器添加“Microsoft.AspNet.FriendlyUrls”库。它看起来像这样:在此处输入图像描述

安装第一个(也将自动安装下一个)。安装完成后,在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);
    }
}

要启用友好 url,您需要将以下代码添加到 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

于 2013-09-30T08:33:49.243 回答
0

如果你用谷歌搜索URL 重写,应该会有很多结果告诉你如何http://default.com/index.aspx?value=13变成http://default.com/index/13.

于 2013-09-30T07:18:26.413 回答
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>
于 2013-09-30T07:42:55.910 回答