asp.net下通过泛解析和伪静态实现二级域名的实现方法

Posted 渐行渐远....那些错过的青春

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net下通过泛解析和伪静态实现二级域名的实现方法相关的知识,希望对你有一定的参考价值。

在net中微软已经为我们留下了接口,让我们为所欲为了。

首先我们可以通过一张图大概了解下.net的生命周期。 

从 上图可以看出来,针对每个不同用户的请求,服务器都会创建一个新的HttpContext实例直到请求结束,服务器销毁这个实例。而 Ihttpcontext是httpcontext对外公开的接口,它包含了2个方法:dispose()和Init(HttpApplication context),我们可以实现Ihttpcontext从而达到httpcontext。 
关键代码: 

复制代码代码如下:

HttpApplication app = (HttpApplication)sender; 
HttpContext context = app.Context; 
string url = context.Request.Url.AbsoluteUri; //完整url 
string turl = url.Split(\'.\')[0]; 
string surl = turl.ToLower().Replace("http://", ""); 
StringBuilder strb = new StringBuilder(); 
strb.Append(url); 
strb.Append(surl); 


app.Context.RewritePath(path, string.Empty, strb.ToString().Split(\'?\')[1]); 
在web.config里配置下: 
<system.web>里添加如下代码。 
<httpModules> 
<add type="Common.URLRewriter" name="Common" /> 
最后设置IIS的时候记得要把IIS的表头设置为空。 
运行下你就能实现了 
</httpModules>

以上是关于asp.net下通过泛解析和伪静态实现二级域名的实现方法的主要内容,如果未能解决你的问题,请参考以下文章

动态url静态url和伪静态url的详细讲解

Nginx 泛解析配置请求映射到多端口实现二级域名访问

.net iis 域名泛解析实战

详解 Rainbond Ingress 泛解析域名机制

详解 Rainbond Ingress 泛解析域名机制

伪静态网址301重定向到静态网址怎么实现