1. 通过 URL Rewrite Module 组件 这是一个比较简单,方便的方法。首先要去 Url Rewite 官网 下载 URL Rewrite Module 2.0 并安装。安装完成后可以看到 IIS设置里多了 URL重写,在这里,可以对URL访问规则进行设置。 2. 通过 nginx 图片防盗链 3. 自定义 HttpHandler 处理 方法步骤: 1 创建自定义 handlers ,根据 Referre 判断请求来源,如果符合标准,输出文件流,否则停止响应。也可以输出一个特定的图片。 2 在web.config 文件 handlers 节点下添加自定义 Handler,满足要求的请求进入 自定义 handlers 进行处理。 4. 通过 MVC 自定义路由规则防盗链 1、首先我们要在 web.config 文件里 system.webServer 节点下 设置<modules runAllManagedModulesForAllRequests="true" /> 同时还要在 RouteConfig.cs 文件里添加 routes.RouteExistingFiles = true;确保所有路由都通过 RouteCollection 匹配 。在这里我们需要了解 UrlRoutingModule,它是System.Web.Routing的一部分。UrlRoutingModule用于检验请求的url和本地硬盘 中的文件能不能相匹配。如果匹配,则交给IIS处理。如果不匹配它会检验 RouteCollection 来决定能不能继续传递请求。而设置了 runAllManagedModulesForAllRequests="true" 后,会改变默认行为,所有请求都须要 运用 Routing来处理。 2、 配置文件设置好以后添加自定义路由规则,其实里面就做了一件事,使用正则表达式判断当前请求是否符合规则,如果符合规则,则进入指定的处理页面,否则去匹配其他的路由规则。 3、这样就造成了一个问题,所有的请求(比如 .css .js .htm 等等)都去路由规则里面去匹配,如果在路由规则里面匹配不到那么就会返回 404,如何避免呢?通过 RouteConfig.cs文件配置忽略。 5. 通过 MVC 自定义 RouteHandler 防盗链 注意这里是自定义路由,别跟第4种方法混淆了,这里是指定自定义路由处理图片。 1 web.config 文件配置同第4种方法,也要开启 runAllManagedModulesForAllRequests="true" 2 创建自定义路由,自定义路实现代码如下 ImageRouteHandler ,同时还有自定义路由调用的 HttpHandler ,ImageHandler。 6. 通过 HttpModule 防盗链
标签:请求,自定义,网站,几种,URL,防盗链,规则,路由 From: https://www.cnblogs.com/mabokai/p/18034426