记录rewrite url我之前不知道的地方
2024-10-10 21:48:53
大部分url重写的需求是伪静态,当然有很多第三方开源组件,但是这种需求的核心方法其实就是context.rewritePath()
要是系统像ARR那样,用重写做代理和反向代理,一般的重写就不行了,context.rewritePath()的内部不允许跨站点的url。
你可能会想到实现自己的IHttpHandler,这样有个问题就是,静态资源的url没法重写。
那怎么办?
我通过查context.rewritePath()内部方法是:
[DllImport("webengine4.dll", CharSet = CharSet.Unicode)]
internal static extern int MgdRewriteUrl(IntPtr pRequestContext, string pszUrl, bool fResetQueryString);
这个方法的关键是怎么获取到当前请求上下文context的句柄?
静态资源重写的关键问题是怎么捕获到静态资源的请求?
<system.webServer>
<handlers>
<remove name="StaticFile" />
这样就可以在IHttpHandler中捕获静态资源的请求了
我尝试实现ARR的扩展程序,注册GAC后,找不到注册的DLL
最新文章
- javascript中的操作符详解1
- Cookies的作用
- Fedora下的解压
- Ubuntu更改鼠标灵敏度
- asp.net动态生成按钮Button控件
- 【Python】 [基础] 条件判断 与 循环 与dict和set
- css010 css的transform transition和animation
- POJ 2402 Palindrome Numbers
- 技术英文单词贴--G
- leetcode 103 Binary Tree Zigzag Level Order Traversal ----- java
- 看文档要看仔细,英语要加强啊... cocos2d-x 的 API 和 对应版本的 cocos2d-js 的 API 没有完全对应
- 鸭子类型duck typing(动态)
- 正式进入C#的世界——委托
- C语言函数入门
- Git学习02 --暂存区,撤销修改,删除文件
- C语言中static关键字的用法
- 纯js代码生成可搜索选择下拉列表
- Spring 4.x (二)
- vue 构建项目vue-cli
- Python虚拟环境笔记