一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - Windows虛擬主機與VPS如何實現301重定向(asp.net)

Windows虛擬主機與VPS如何實現301重定向(asp.net)

2019-09-27 09:36asp.net技術網 ASP.NET教程

301重定向應該是研究SEO必須掌握的技術。如果你是剛接觸SEO的菜鳥,想了解什么是301重定向,請看《html實現301重定向的方法》一文,我在該篇隨筆中引用了Google網站站長工具對301重定向的解釋

301重定向這么重要,那么如何實現301重定向呢?盧松松在他的《詳解301永久重定向實現方法》一文中介紹了多種實現301重定向的方法,但里面的方法對于使用Windows虛擬主機或是Windows VPS的朋友來說,除了單個頁面設置重定向可以用上,IIS 服務器實現整站301重定向的方法卻無法應用。因為很多的虛擬主機和VPS的提供商不支持用戶去做301重定向。本人遇到了這個問題,非常困擾。搜索了很多的資料,或是在論壇、知名SEO博客詢問,得到的建議是:虛擬主機通常沒辦法做301重定向,建議使用獨立服務器。能有臺獨立主機,肯定好了,但銀子有限啊。相信很多朋友都遇到了上述問題。 
經過一段時間的研究,我終于找到了Windows虛擬主機與VPS實現301重定向的方法,在這與大家分享: 
1、第一種方式:通過Web.config配置實現(要求IIS必須為7.0版本) 
假設我們需要將zzvips.com 301重定向到 m.ythuaji.com.cn,那么我們在程序根目錄下的Web.config文件中的<configuration>節點內加入以下代碼,即可。 

復制代碼代碼如下:


<system.webServer> 
<rewrite> 
<rules> 
<rule name="Redirect" stopProcessing="true"> 
<match url=".*" /> 
<conditions> 
<add input="{HTTP_HOST}" pattern="^zzvips.com$" /> 
</conditions> 
<action type="Redirect" url="//m.ythuaji.com.cn/{R:0}" redirectType="Permanent" /> 
</rule> 
</rules> 
</rewrite> 
</system.webServer> 


可惜的是,很多Windows虛擬主機空間用的還是IIS6.0,那么IIS6.0有沒有方法實現301重定向呢?請參考第二種方式。 
2、第二種方式:通過httpModules的URL攔截實現 
我們首先在項目中添加一個新的類庫,假設名稱叫“SiteSense.Domain”。在此類庫下添加一個“DomainLocation”的類,并實現了IHttpModule接口,代碼如下: 

復制代碼代碼如下:


using System; 
using System.Collections.Generic; 
using System.Text; 
using System.Web; 
using System.Configuration; 
namespace SiteSense.Domain 

public class DomainLocation : IHttpModule 

public void Dispose() 


public void Init(HttpApplication context) 

context.AuthorizeRequest += (new EventHandler(Process301)); 

public void Process301(object sender, EventArgs e) 

HttpApplication app = (HttpApplication)sender; 
HttpRequest request = app.Context.Request; 
string lRequestedPath = request.Url.DnsSafeHost.ToString(); 
string strDomainURL = ConfigurationManager.AppSettings["WebDomain"].ToString(); 
string strWebURL = ConfigurationManager.AppSettings["URL301Location"].ToString(); 
//攔截到的Url不包含“m.ythuaji.com.cn”,而包含“zzvips.com” 
if (lRequestedPath.IndexOf(strWebURL) == -1 && lRequestedPath.IndexOf(strDomainURL) != -1) 

app.Response.StatusCode = 301; 
app.Response.AddHeader("Location", lRequestedPath.Replace(lRequestedPath, "http://" + strWebURL + request.RawUrl.ToString().Trim())); 
app.Response.End(); 




注:此類庫須添加引用“System.Configuration” 和“System.Web”命名空間。 
然后我們在程序根目錄下的Web.config文件中的<configuration>節點內加入以下代碼 

復制代碼代碼如下:


<appSettings> 
<add key="WebDomain" value="zzvips.com"/> 
<add key="URL301Location" value="m.ythuaji.com.cn"/> 
</appSettings> 


在<system.web>節點內的<httpModules>節點,加入以下代碼 

復制代碼代碼如下:

<add name="DomainLocation" type="SiteSense.Domain.DomainLocation, SiteSense.Domain"/>


即可實現301重定向。完成后,我們可以訪問zzvips.com 發現在瀏覽器欄內已經自動變為 m.ythuaji.com.cn 。為了確認301重定向成功,我開發了個檢測網頁HTTP返回狀態值的工具,可以用于檢測某網址是否做了301重定向,網址是://m.ythuaji.com.cn/http_header/ 。下圖是,我用該工具對做完301重定向后的檢測。 

Windows虛擬主機與VPS如何實現301重定向(asp.net)

上述兩種實現301重定向的方法,只適合ASP.NET程序,不適用于ASP程序。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产一区二区免费视频 | 国产综合久久久久久 | 日本强不卡在线观看 | 91久久精品国产亚洲 | 奇米色7777 | 和老外3p爽粗大免费视频 | 亚洲AV 中文字幕 国产 欧美 | 侮辱丰满美丽的人妻 | 99久热只有精品视频免费观看17 | 亚洲一级特黄特黄的大片 | 国产福利一区二区三区 | 免费看成年视频网页 | 四虎成人影院网址 | 香蕉久久夜色精品国产小优 | 国产精品高清一区二区三区不卡 | 免费一看一级毛片人 | 美女露奶奶 | 国产午夜亚洲精品 | 国内精品一区二区在线观看 | 日韩精品中文字幕视频一区 | 2018高清国产一道国产 | 外女思春台湾三级 | 亚洲高清色图 | 四虎影院新网址 | 9191久久| 国产精品精品 | 青青草原伊人网 | 国产精品视频免费看 | 狠狠的撞进去嗯啊h女强男视频 | 色综合久久丁香婷婷 | 国产女同精品 | 国产精品麻豆久久99 | 成年人视频免费在线播放 | 69萝莉| 午夜免费体验30分 | 亚洲日韩中文字幕一区 | 久久亚洲精品AV成人无码 | 美女扒开腿让男生桶爽漫画 | 亚洲视频免费 | 国产精品不卡 | 青草碰人人澡人人澡 |