Windows虚拟主机和VPS如何实现301重定向(asp.net)
301重定向如此重要,那么如何实现301重定向呢?卢松松在文章《详解301永久重定向实现方法》中介绍了多种实现301重定向的方法。但是对于使用Windows虚拟主机或者Windows VPS的朋友,除了单个页面设置重定向外,无法应用IIS服务器实现全站301重定向的方法。因为很多虚拟主机和VPS提供商不支持用户做301重定向。我遇到了这个问题,非常困扰。搜索了很多资料,或者在论坛、知名SEO博客查询,得到的建议是虚拟主机通常不能做301重定向,建议使用独立服务器。有独立的主机就好了,但是钱有限。相信很多朋友都遇到过以上问题。经过一段时间的研究,我终于找到了一种在Windows虚拟主机和VPS之间实现301重定向的方法,我想和大家分享一下:1。第一种方式:通过Web.config配置实现(IIS必须是7.0版本)。假设我们需要将jb51.net 301重定向到www.jb51.net,我们可以将以下代码添加到程序根目录下的Web.config文件中的配置节点。复制代码如下:system。webserver重写规则规则名称=“重定向”停止处理=“true”匹配url=。*/条件添加输入=“{ http _ host }”pattern='^jb51.net$'//conditions action type=' redirect ' URL='//www . JB 51 . net/{ r :0 } ' redirect type=' permanent '//rule/rules/rewrite/遗憾的是,很多Windows虚拟主机空间仍然使用IIS6.0,那么IIS6.0有没有办法实现301重定向呢?请参考第二种方法。2.第二种方式:我们首先通过对httpModules的URL拦截,在项目中添加一个新的类库,假设它的名字是“SiteSense”。域”。在这个类库下添加一个“DomainLocation”的类,实现IHttpModule接口。代码如下:复制代码如下:使用System使用系统。集合。通用;使用系统。文字;使用系统。Web使用系统。配置;命名空间SiteSense。域{公共类domain location : ihttpmmodule { public void Dispose()} { public void Init(HttpApplication context){ context }。AuthorizeRequest=(新的事件处理程序(process 301));} public void Process301(对象发送方,event args e){ HttpApplication app=(HttpApplication)发送方;request=app。上下文。请求;字符串lRequestedPath=request。URL . dnssafehost . tostring();string strDomainURL=configuration manager。AppSettings['WebDomain']。ToString();string Strweburl=configuration manager。AppSettings['URL301Location']。ToString();//截获的Url不包含“www.jb51.net”,但包含“JB 51 . net”if(lrequested path。index of(strweburl)==-1 requested path。indexof (strdomainurl)!=-1) { app。Response . StatusCode=301app。响应。添加标题('位置',请求路径。替换(lRequestedPath,' http://' strWebURL请求。RawUrl.ToString()。trim()));app。响应. End();}}}}注意:此类库必须添加对“系统”的引用。配置”和“系统”。Web”命名空间。然后我们将下面的代码添加到程序根目录下的Web.config文件中的配置节点,复制代码如下: appsettings addkey=' web domain '值=' jb51 . net '/Add key=' URL 301 location '值=' www . jb51 . net '/appsettings是system.web节点中的httpModules节点。添加以下代码,复制代码如下: add name=' domain location ' type=' site sense . domain . domain location,site sense . domain '/实现301重定向。完成后,我们可以访问jb51.net,并在浏览器栏中发现它已自动更改为www.jb51.net。为了确认301重定向成功,我开发了一个检测网页HTTP返回状态值的工具,可以用来检测一个网站是否被301重定向过。网址是://www.jb51.net/http_header/。下面,我用这个工具来检测301重定向后的情况。
以上两种实现301重定向的方法只适用于ASP.NET程序,不适用于ASP程序。
版权声明:Windows虚拟主机和VPS如何实现301重定向(asp.net)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。