ASP.NET Core中使用URL重写
ASP.NET Core 1.1 Preview 1 中新增了 URL Rewriting middleware ,终于可以进行 URL 重写了,实际使用体验一下。
首先要将 ASP.NET Core 项目升级至 .NET Core 1.1 Preview 1(参考 .NET跨平台之旅:将示例站点升级至 .NET Core 1.1 Preview 1 ),然后在 project.json 添加 "Microsoft.AspNetCore.Rewrite" 的引用并运行 donet restore 安装对应的nuget包。
"dependencies": {
"Microsoft.AspNetCore.Rewrite": "1.0.0-preview1-final"
}
接着在 Startup.cs 的 Configure() 方法中通过 app.UseRewriter() 配置重写规则,比如要将 http://about.cnblogs.com/ 重写为 http://about.cnblogs.com/about/intro ,可以这么写:
public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory, IHostingEnvironment env)
{
app.UseRewriter(new RewriteOptions().AddRewrite("^$", "about/intro", true));
}
AddRewrite的第1个参数("^$")是匹配重写前的URL的正则表达式,第2个参数("about/intro")是重写后的URL,第3个参数(true)表示匹配成功1条规则后是否放弃后续规则的匹配。
对于URL匹配,还是微软的老规矩,URL的开头没有斜杠,我个人比较喜欢以斜杠开头:
//不支持的写法
app.UseRewriter(new RewriteOptions().AddRewrite("^/$", "/about/intro", true));
需要注意的是 app.UseRewriter() 要放在 app.UseMvc(),app.UseMvcWithDefaultRoute(),app.UseRouter() 之前。
ASP.NET Core中使用URL重写的更多相关文章
- 转载MSDN 在ASP.NET 中执行 URL 重写
转载文章原网址 http://msdn.microsoft.com/zh-cn/library/ms972974.aspx 摘要:介绍如何使用 Microsoft ASP.NET 执行动态 URL 重 ...
- ASP.NET Core中使用表达式树创建URL
当我们在ASP.NET Core中生成一个action的url会这样写: var url=_urlHelper.Action("Index", "Home"); ...
- 初探CSRF在ASP.NET Core中的处理方式
前言 前几天,有个朋友问我关于AntiForgeryToken问题,由于对这一块的理解也并不深入,所以就去研究了一番,梳理了一下. 在梳理之前,还需要简单了解一下背景知识. AntiForgeryTo ...
- ASP.NET Core中的OWASP Top 10 十大风险-跨站点脚本攻击 (XSS)
不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻喷,如觉得我翻译有问题请挪步原博客地址 本博文翻译自: https://dotnetcoretutorials.com/201 ...
- 在ASP.NET Core中构建路由的5种方法
原文链接 :https://stormpath.com/blog/routing-in-asp-net-core 在ASP.NET Core中构建路由的5种方法 原文链接 :https://storm ...
- C#调用接口注意要点 socket,模拟服务器、客户端通信 在ASP.NET Core中构建路由的5种方法
C#调用接口注意要点 在用C#调用接口的时候,遇到需要通过调用登录接口才能调用其他的接口,因为在其他的接口需要在登录的状态下保存Cookie值才能有权限调用, 所以首先需要通过调用登录接口来保存c ...
- ASP.NET Core中使用自定义路由
上一篇文章<ASP.NET Core中使用默认MVC路由>提到了如何使用默认的MVC路由配置,通过这个配置,我们就可以把请求路由到Controller和Action,通常情况下我们使用默认 ...
- (5)ASP.NET Core 中的静态文件
1.前言 当我们创建Core项目的时候,Web根目录下会有个wwwroot文件目录,wwwroot文件目录里面默认有HTML.CSS.IMG.JavaScript等文件,而这些文件都是Core提供给客 ...
- Asp.Net Core 中的静态文件
Asp.Net Core 中的静态文件 在这节中我们将讨论如何使 ASP.NET Core 应用程序,支持静态文件,如 HTML,图像,CSS 和 JavaScript 文件. 静态文件 默认情况下, ...
随机推荐
- tp框架之留言板练习
登陆控制器与显示页面 <?php namespace Admin\Controller; use Think\Controller; class DengController extends C ...
- APP产品交互设计资源汇总(不断更新中...)
Axure RP 7 元件库 http://www.iaxure.com/tag/axure7-0%E5%85%83%E4%BB%B6%E5%BA%93 ios8组合元件库V1.2版 http://w ...
- PhpStorm 快捷键大全 PhpStorm 常用快捷键和配置
PhPStorm 是 JetBrains 公司开发的一款商业的 PHP 集成开发工具,PhpStorm可随时帮助用户对其编码进行调整,运行单元测试或者提供可视化debug功能.Phpstrom的一款名 ...
- SOUI中做的一个磁力吸附效果
代码见SVN
- Project Euler欧拉计划
1 If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. Th ...
- Bootstrap UI 编辑器
1. BootSwatchr BootSwatchr 是由 Drew Strickiand 独立开发和维护的,是唯一支持从右到左语言显示的 Bootstrap 自定义构建工具,这也是它的特色之一.Bo ...
- IDEA快捷键+使用小技巧
一 常用快捷键 Alt+回车 导入包,自动修正,当引入的类需要异常捕获的时候 Ctrl+Shift+Space 自动补全代码,"new"字符,还可以引入强制转换的 Ctrl-Alt ...
- shell命令大全
请跳转至:http://www.lampweb.org/linux/2/3.html
- Programming Language A 学习笔记(二)
1. 语法糖--元组的"名称引用"与"位置引用": (e1,...,en) <=> {1=e1,...,n=en} 类型:t1 * - * tn & ...
- mybatis配置文件的bug
看看图片里的配置有什么问题么? url=jdbc--我擦,我怎么这么不小心,换来一整天的不得安宁,上网各种搜bug,把mysql驱动配置到classpath中,jar包放进jdkjre里面还是不行妈的 ...