我有一条路径说“ http://default.com/index.aspx ”在这里我可以看到页面“index.aspx”页面内容,但我不想在我的浏览器 url 上显示“.aspx”扩展名。我可以这样做,同时将文件夹名称设为“index”并将我的 index.aspx 页面放在该文件夹中,并将写入 url 设为“ http://default.com/index/ ”
但是还有另一种简单而好的方法吗?我正在使用 asp.net 4.0
我有一条路径说“ http://default.com/index.aspx ”在这里我可以看到页面“index.aspx”页面内容,但我不想在我的浏览器 url 上显示“.aspx”扩展名。我可以这样做,同时将文件夹名称设为“index”并将我的 index.aspx 页面放在该文件夹中,并将写入 url 设为“ http://default.com/index/ ”
但是还有另一种简单而好的方法吗?我正在使用 asp.net 4.0
当您使用 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
如果你用谷歌搜索URL 重写,应该会有很多结果告诉你如何http://default.com/index.aspx?value=13
变成http://default.com/index/13
.
我多年来一直在使用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>