.net Core Razor Pages中定义SEO友好的URL
2018-03-16 11:00
429 查看
为什么要SEO友好的?这个不是这篇笔记的讨论范围,这里只解决怎么友好。
假如在你的project的
打开
当然你还可以这样
扩展其实并不复杂
假如在你的project的
post.cshtml的位置是这样的
~/pages/post.cshtml,那么你的url就是
http://{your domain}/post,如果想实现
http://{your domain}/post/2018/03/21这样的url要怎么做呢,下面就是方法:
打开
Startup类,定义你的规则
services.AddMvc() .AddRazorPagesOptions(options => { options.RootDirectory = "/Pages"; options.AddPageRoute("/Post", "Post/{year}/{month}/{day}"); });
当然你还可以这样
options.AddPageRoute("/Categories/Laptops.cshtml", "Laptops/{id?}");
扩展其实并不复杂
public static RazorPagesOptions AddPageRoute(this RazorPagesOptions options, string pageName, string route) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (string.IsNullOrEmpty(pageName)) { throw new ArgumentException(nameof(pageName)); } if (string.IsNullOrEmpty(route)) { throw new ArgumentException(nameof(route)); } options.Conventions.Add(new PageConvention(pageName, model => { foreach (var selector in model.Selectors) { selector.AttributeRouteModel.SuppressLinkGeneration = true; } model.Selectors.Add(new SelectorModel { AttributeRouteModel = new AttributeRouteModel { Template = route, } }); })); return options; }
相关文章推荐
- Introduction to Razor Pages in ASP.NET Core
- Razor Pages with ASP.NET Core 2
- 利用 ASP.NET3.5(ASP.NET4.0) 的路由功能创建搜索引擎友好的 URL
- ASP.Net Core Razor 页面路由
- Asp.Net 4.0 SEO增强之UrlRouting
- 学习ASP.NET Core Razor 编程系列六——数据库初始化
- ASP.NET Core Razor页面禁用防伪令牌验证
- Asp.Net Core-几行代码解决Razor中的嵌套if语句
- Asp.net core 学习笔记 ( Smtp and Razor template 电子邮件和 Razor 模板 )
- CTSFail解决办法 android.webkit.cts.WebSettingsTesttestUserAgentString_default 和libcore.java.net.URLfail
- [转]Asp.Net 301重定向的实现(SEO友好,有利于PR值)
- ASP.NET Core的路由[1]:注册URL模式与HttpHandler的映射关系
- ASP.NET的SEO: 服务器控件背后——SEO友好的Html和JavaScript (3)
- 学习ASP.NET Core Razor 编程系列二——添加一个实体
- ASP.NET Core 1:UrlRouting 设置(不包含MVC6的UrlRouting设置)
- FriendlyUrls——在ASP.NET Web表单中使用更友好的URL
- Asp.net core 2.0.1 Razor 的使用学习笔记(一)
- Asp.Net 301重定向的实现(SEO友好,有利于PR值)
- Asp.net core 2.0.1 Razor 的使用学习笔记(五)
- ASP.NET Core 中的SEO优化(2):中间件中渲染Razor视图