我们(特别是SEO专业人员)都知道,网站的友好的URL对搜索引擎(百度,特别是google)是非常有好处的。因为一方面搜索引擎会分析URL地址中的文字并提取关键字,另一方面则是让网站的URL看起来更直观、易读。
那么我们在ASP.NET MVC程序如何实现对搜索引擎和用户都友好的URL地址呢?很简单,正如我题目提到的组件–LowercaseDashedRoute,引用组件后只需简单的一点点设置即可实现友好的URL地址。
LowercaseDashedRoute是一个开源的用于优化URL地址的.NET组件,源码托管地址:https://github.com/AtaS/lowercase-dashed-route。它可以把ASP.NET MVC的地址变成全部小写并在Action的大写部分用横线连接,比如有控制器:
[C#] 纯文本查看 复制代码 public class HomeController : Controller
{
public ActionResult FriendlyUrl()
{
ViewBag.Message = "Friendly Url page.";
return View();
}
}
用@Html.ActionLink(“SEO”, “FriendlyUrl”, “Home”)直接生成的链接地址为:http://domain.com/Home/FriendlyUrl
使用LowercaseDashedRoute优化后生成的链接地址会是:http://domain.com/home/friendly-url
怎么样,优化后的的URL看起来更直观易读吧。下面介绍一下具体的实现:
首先,下载(直接用Nuget程序包管理工具控制台)并引用组件–LowercaseDashedRoute
[C#] 纯文本查看 复制代码 PM> Install-Package LowercaseDashedRoute
接着配置项目中App_Start文件夹下的RouteConfig.cs文件,注释掉原来的默认路由规则,并添加如下路由配置:
[C#] 纯文本查看 复制代码 routes.Add(new LowercaseDashedRoute("{controller}/{action}/{id}",
new RouteValueDictionary(
new { controller = "Home", action = "Index", id = UrlParameter.Optional }),
new DashedRouteHandler()
)
);
如下你在项目中也使用的Area域,那么同样在Area的XxxAreaRegistration.cs中用如下的路由规则替换默认的:
[C#] 纯文本查看 复制代码 var route = new LowercaseDashedRoute("AreaName/{controller}/{action}/{id}",
new RouteValueDictionary(
new
{
action = "Index",
id = UrlParameter.Optional
}),
new DashedRouteHandler(),
this,
context
);
context.Routes.Add("AreaName_default", route);
OK,大功告成。SO EASY!!! ^_^
本文转载至:图享 » 推荐一个ASP.NET MVC友好(小写、横线连接)URL地址的组件–LowercaseDashedRoute
|