借助微软提供的url重写类库URLRewriter.dll(1.0)实现程序自动二级域名,域名需要泛解析
Posted on 2018-04-03 19:48 weekzero 阅读(324) 评论(0) 编辑 收藏 举报二级域名和系统中会员帐号自动关联,也就是系统中注册一个会员,会员自动就可以通过二级域名来访问,比如我的帐号是zhangsan,我在morecoder.com注册后,访问zhangsan.morecoder.com就是我的个人空间。
实现这个功能有多种方式,本文是通过微软官方提供的url重写dll实现。
URLRewriter.dll,1.0版本,微软提供,适用于iis6、iis7或以上版本。
微软提供的原版dll并不支持二级域名,需要更改源码后重新生成dll。
具体实现步骤:
1、微软官方下载安装文件“MSDNURLRewriting.msi”,安装后是源码的解决方案。
找到安装后的目录,如下图:
2、“URLRewriter”文件夹是url重写核心代码,更改BaseModuleRewriter.cs文件内容
原内容:
1 2 3 4 5 | protected virtual void BaseModuleRewriter_AuthorizeRequest( object sender, EventArgs e) { HttpApplication app = (HttpApplication) sender; Rewrite(app.Request.Path, app); } |
更改为:
1 2 3 4 5 | protected virtual void BaseModuleRewriter_AuthorizeRequest( object sender, EventArgs e) { HttpApplication app = (HttpApplication) sender; Rewrite(app.Request.Url.AbsoluteUri, app); } |
3、更改ModuleRewriter.cs文件内容
原内容:
1 | string lookFor = "^" + RewriterUtils.ResolveUrl(app.Context.Request.ApplicationPath, rules[i].LookFor) + "$" ; |
更改为:
1 | string lookFor = "^" + rules[i].LookFor + "$" ; |
4、更改完成后重新生成项目,将新生成的URLRewriter.dll复制到项目中使用
5、Webconfig对应配置节点参考:
1 2 3 4 | < RewriterRule > < LookFor >http://(\d+)\.morecoder\.com</ LookFor > < SendTo >/default.aspx?domain=$1</ SendTo > </ RewriterRule > |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现