日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

巧用httpModules实现网站域名更换

發(fā)布時(shí)間:2025/4/16 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 巧用httpModules实现网站域名更换 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

朋友的網(wǎng)站,原來的域名是 sitea.com,現(xiàn)在要換成siteb.com。當(dāng)然sitea.com還未到期,要過度一段時(shí)間。網(wǎng)上看了這篇文章。

seo網(wǎng)站如何實(shí)現(xiàn)301跳轉(zhuǎn)?http://smt.fortuneage.com/uemarketer/18655-155226.aspx

是這么個(gè)意思,如何在asp.net實(shí)現(xiàn)。 以前實(shí)現(xiàn)過泛域名,用的是URLRewriter,前幾天看NHibernate的一些東西,也有朋友通過httpModules實(shí)現(xiàn)每個(gè)請(qǐng)求創(chuàng)建一個(gè)session連接,請(qǐng)求結(jié)束后釋放session。

是啊,微軟就提供了這么一個(gè)類似管道鏈的東西,一個(gè)一個(gè)Modules挨著處理。當(dāng)然,也可以通過這種方法,判斷只有認(rèn)證過的用戶才能下載對(duì)應(yīng)擴(kuò)展名的文件,也就是在交給最終成現(xiàn)之前先截獲進(jìn)行處理。

當(dāng)然你可以自己新建一個(gè)類,繼承于public class GoXueHttpModule : IHttpModule

?

public class GoXueHttpModule : IHttpModule
??? {

??????? /// <summary>
??????? /// 構(gòu)造函數(shù)
??????? /// </summary>
??????? public GoXueHttpModule()
??????? {

??????? }

??????? #region IHttpModule 成員
??????? /// <summary>
??????? /// 釋放
??????? /// </summary>
??????? public void Dispose()
??????? {

??????? }

??????? /// <summary>
??????? /// 初始化
??????? /// </summary>
??????? /// <param name="context">http應(yīng)用程序</param>
??????? public void Init(HttpApplication context)
??????? {
??????????? context.BeginRequest += new EventHandler(Context_BeginRequest);
??????????? //關(guān)閉頁面的時(shí)候
??????????? //context.EndRequest += new EventHandler(Context_EndRequest);
??????? }
??????? #endregion

??????? /// <summary>
??????? /// 開始請(qǐng)求
??????? /// </summary>
??????? /// <param name="sender"></param>
??????? /// <param name="e"></param>
??????? private void Context_BeginRequest(object sender, EventArgs e)
??????? {
??????????? string url = HttpContext.Current.Request.Url.ToString();
??????????? if (url.Contains("sitea.com"))
??????????? {
??????????????? string url2 = url.Replace("sitea.com", "siteb.com");
??????????????? HttpContext.Current.Response.Status = "301 Moved Permanently";
??????????????? HttpContext.Current.Response.AddHeader("Location", url2);
??????????????? HttpContext.Current.Response.End();
??????????? }
??????????? else
??????????? {
??????????????? HttpContext.Current.Response.Redirect(url);
??????????? }

??????? }

??????? /// <summary>
??????? /// 結(jié)束請(qǐng)求
??????? /// </summary>
??????? /// <param name="sender"></param>
??????? /// <param name="e"></param>
??????? private void Context_EndRequest(object sender, EventArgs e)
??????? {
????????? }

??? }

?

當(dāng)然,上面的紅色的,可以直接寫在URLRewriter.ModuleRewriter,這樣既實(shí)現(xiàn)了二級(jí)域名,又實(shí)現(xiàn)了域名的變更。

同時(shí),舊的訪問方式可以不變,通過舊的搜索引擎地址過來的,也會(huì)用新的域名的網(wǎng)址來顯示。

轉(zhuǎn)載于:https://www.cnblogs.com/huang/archive/2010/01/07/1641393.html

總結(jié)

以上是生活随笔為你收集整理的巧用httpModules实现网站域名更换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。