我们(特别是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的大写部分用横线连接,比如有控制器:
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
PM> Install-Package LowercaseDashedRoute接着配置项目中App_Start文件夹下的RouteConfig.cs文件,注释掉原来的默认路由规则,并添加如下路由配置:
routes.Add(new LowercaseDashedRoute("{controller}/{action}/{id}", new RouteValueDictionary( new { controller = "Home", action = "Index", id = UrlParameter.Optional }), new DashedRouteHandler() ) );如下你在项目中也使用的Area域,那么同样在Area的XxxAreaRegistration.cs中用如下的路由规则替换默认的:
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!!! ^_^
版权声明:本作品系原创,版权归码友网所有,如未经许可,禁止任何形式转载,违者必究。
发表评论
登录用户才能发表评论, 请 登 录 或者 注册