二級域名和系統中會員賬號自動關聯,也就是系統中註冊一個會員,會員自動就能夠經過二級域名來訪問,好比個人賬號是zhangsan,我在morecoder.com註冊後,訪問zhangsan.morecoder.com就是個人我的空間。html
實現這個功能有多種方式,本文是經過微軟官方提供的url重寫dll實現。c#
URLRewriter.dll,1.0版本,微軟提供,適用於iis6、iis7或以上版本。app
微軟提供的原版dll並不支持二級域名,須要更改源碼後從新生成dll。dom
具體實現步驟:url
1、微軟官方下載安裝文件「MSDNURLRewriting.msi」,安裝後是源碼的解決方案。spa
找到安裝後的目錄,以下圖:code
2、「URLRewriter」文件夾是url重寫核心代碼,更改BaseModuleRewriter.cs文件內容htm
原內容:blog
protected virtual void BaseModuleRewriter_AuthorizeRequest(object sender, EventArgs e) { HttpApplication app = (HttpApplication) sender; Rewrite(app.Request.Path, app); }
更改成:get
protected virtual void BaseModuleRewriter_AuthorizeRequest(object sender, EventArgs e) { HttpApplication app = (HttpApplication) sender; Rewrite(app.Request.Url.AbsoluteUri, app); }
三、更改ModuleRewriter.cs文件內容
原內容:
string lookFor = "^" + RewriterUtils.ResolveUrl(app.Context.Request.ApplicationPath, rules[i].LookFor) + "$";
更改成:
string lookFor = "^" + rules[i].LookFor + "$";
四、更改完成後從新生成項目,將新生成的URLRewriter.dll複製到項目中使用
五、Webconfig對應配置節點參考:
<RewriterRule> <LookFor>http://(\d+)\.morecoder\.com</LookFor> <SendTo>/default.aspx?domain=$1</SendTo> </RewriterRule>