301重定向完整解析_301重定向代码
在优化网站的时候,301重定向是站长们必不可缺的一项优化,而301重定向主要用于将内容从一个位置移动到另外一个位置。其实,在理解上也是非常简单的,比如我在http://www.abc.com/a.html上有一些内容,接着我想重构网站,于是我想把此页面上的内容移动到http://www.abc.com/b.html上。所以,我可以实施了重定向将这个页面的所有转移到另外一个页面。可能有人会问,为什么非要给网站做301重定向?首先做重定向之前要明白一点,重定向不仅对用户很重要,而且对于搜索引擎也是很重要的,当网站改版后并通过实施重定向, 可以让用户或搜索引擎访问旧版页面不是404错误页面,而是成功访问新版本的页面,还可以让搜索引擎知道你是何时移动内容的。
相关文章推荐:
301重定向进行URL标准化设置要点
为什么今天谈301重定向的问题呢?之所以谈这个问题也是因为在分析诊断企业网站时,发现了各种各样的问题:比如企业网站重构后没用对旧版本的页面重定向到新版本,导致重构后的网站出现大量的404错误页面,而且网站也因为这些而导致权重流失。另外,在设置301重定向的时候设置错误或不知道该怎么去设置。所以,很多企业的站长对301重定向认识不够、操作错误等。那么,对此问题做了一些整理,希望可以帮助到中小型企业站长正确、有效的设置301重定向。
一、301重定向的作用
301重定向的作用有很多,平时站长在做301重定向的时候,一是为了URL规范化并集中权重不让权重分散、二是为了网站改版,将旧版本的页面的所有指标全部转移到新版本的页面上。而实施301重定向可以做到这些,在作用上也是非常的强大。
二、在什么情况下必须做301重定向
以下五种情况是必须要做301重定向的,当然如果这五种情况都没有发生的话可以选择不做,下面详细的介绍一下。
①:网站的旧内容过期并被删除掉
网站的一些内容过期了,所以要被删掉了,如果还想留着可以通过重定向实现。
②:网站有一些具有链接和流量的无效URL
如果你发现这些无效的URL还有流量权重,可以通过重定向重新生成页面。
③:网站更换了主机托管公司
如果网站更换了主机托管公司,不影响用户查找网站内容的任何URL的情况下,可以不需要做重定向。
④:网站更换程序
网站进行较大的改版,网站程序需要更换,此时会影响很多URL,可以通过重定向来解决。
⑤:网站实施URL规范化
网站默认的URL分:
1、abc.com
2、www.abc.com
3、abc.com/index.html
4、www.abc.com/index.html
为了进行规范化只出现一个标准的URL,可以通过重定向实现。例如:我指向出现www.abc.com的URL,我可以将其他三个重定向到www.abc.com上。
⑥:网站因为各种原因而改变现有内容的URL
注意:并不是所有情况都是需要做重定向的,但是,任何URL的更改都是需要做重定向的。
三、做301重定向的注意事项
当重定向实施完之后,旧版本页面跳转到了新版本页面,或网址规范化了再或者其他的,部分站长不会注意到HTTP状态是否返回成功,就在此时,可能有些重定向不传递状态或者出现错误的状态码。
例如:404错误(页面未找到)或者200 OK(页面成功加载)
正确的状态码:
错误的状态码:
如果遇到这种情况也是一个问题,所以要避免这样的问题发生。如果站长在做301永久重定向后,一定要确保HTTP状态是返回301 HTTP状态码而不是返回200或404再或者是其他的。
四、301永久重定向后权重会不会叠加
301永久重定向后权重会不会叠加呢?很多站长都在考虑这个问题,部分站长想通过这种途径来投机取巧。301永久重定向后权重是可以叠加的,但权重不会相加。那么,什么样的网站做301重定向权重是可以叠加的,什么样的网站做301重定向权重是不能叠加的?下面详细的说明一下。
①:两个相同的网站做301重定向是可以叠加权重的,但权重不是全部转移过来,而且要看站点符不符规则,一般来说权重再转移的时候会损失一部分。
②:两个不相同的网站做301重定向是不可以叠加权重的,为什么呢?如果两个网站一点也不相同,权重不仅不会转移过来,而且百度也不愿意这么做,所以两个不相同的网站没法传递权重和叠加权重。
五、301重定向和302重定向的区别
重定向的方法其实是有很多的,但不同的方法会出现不同的结果,而且区别也是很大的。目前,根据WEB服务器返回给浏览器的HTTP状态码,重定向主要可以分为好和坏两类,好的一类是301永久重定向、坏的一类是301临时重定向。
①:301永久重定向(好)
首先,301永久重定向。这个状态码告诉用户、搜索引擎、浏览器,该资源已经永久性的移动到另一个位置(旧版本页面永久重定向到新版本页面),而且没有恢复原位的打算。
②:302临时重定向(坏)
然后,302临时重定向。这个状态码告诉用户、搜索引擎、浏览器,该资源已经暂时性的移动到另外一个位置(旧版本页面临时重定向到新版本页面),这种移动不会当作永久性,而且会恢复原来的位置。
注意:两种形式的重定向都会将用户、搜索引擎发送到新的位置(页面),但搜索引擎对待这两个HTTP状态码却不同。当搜索引擎看到301状态码的时候,会判断旧版本页面将权重或任何其他的指标永久转移到新页面。当搜索引擎看到302HTTP状态码的时候,会假设它不应该将旧页面的历史链接跟权重转移到新的页面,意思是转移后还是转移回来的。另外,301永久重定向会导致搜索引擎从索引上(百度、谷歌)删除旧页面并用新页面代替。
六、如何实施301重定向
①:虚拟主机
Linux虚拟主机设置301跳转方法:
在本地新建一个文本文件,最好用的专业的编辑器软件如EditPlus 将代码粘入
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.abc.com$ [NC]
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]
说明:上述规则是将站点所以访问域名都重定向到www.abc.com(规则中的域名请修改为自己的域名),如果仅想将绑定在站点上某个域名(如:www.123.com)重定向到www.abc.com,规则如下:
RewriteCond %{HTTP_HOST} ^www.123.com$ [NC]
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]
如果有多种需求,如abc.com跳转到www.abc.com qwe.com跳转到www.qwe.com,规则如下:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^abc.com$ [NC]
RewriteRule ^(.*)$ http://www.abc.com/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^qwe.com$ [NC]
RewriteRule ^(.*)$ http://www.qwe.com/$1 [R=301,L]
根据自己的需要进行添加修改,然后上传到服务器wwwroot目录,改名为.htaccess即可
win虚拟主机设置301跳转方法:
手动设置的(没有自动生成)
1、进入主机控制面板,进入ISAPI筛选器设置,点击"开启自定义URL静态化支持"按钮。
2、待开启伪静态功能后,进入FTP文件管理,找到\others\discuz\httpd.conf 修改这里面的规则。
3、示例代码:
RewriteCond %{HTTP:Host} ^abc.com$
RewriteRule (.*) http://www.abc.com$1 [NC,R=301]
#第一条表示要做跳转的域名,第二条表示要跳转到的域名
#如果有很多域名要做跳转,那么可以将第一条规则改为
RewriteCond %{HTTP:Host} !^www.abc.com$
这样,就表示非www.abc.com的域名访问都会跳转到www.abc.com #多个域名做跳转的第二种方法是,首先复制多个 RewriteCond 项,将域名改好 除了最后一项,其余的 RewriteCond 项最后都要加个参数 [OR]即可。
注意:现在很多虚拟主机都自带301的配置,可以在主机控制面板上生成代码信息,然后按照上面的提示进行301重定向。
②:window独立服务
Win独立服务301设置(win2003、win2008):
1、IIS服务器实现301重定向
打开IIS,右键-属性-网站-IP地址那里点编辑增加一个站点,然后绑定一下主机头,也可以绑定更多的闲置域名。如图所示:
打开IIS,首先新建立一个站点,随便对应一个目录E:\wwwroot\301web。该目录下只需要2个文件,一个 default.html,一个404.htm。在欲重定向的网页或目录上按右键;选中“重定向到URL”;在对话框中输入目标页面的地址;切记,记得选 中“资源的永久重定向”;当然,最后要点击“应用”,完成。如下图所示:
注意:win2003跟win2008都是使用IIS服务器,所以301重定向的步骤方法是一样的。
③:Linux独立服务器
Linux独立服务器301设置(红帽企业版、centos):
我用的是红帽企业版,用的是源码包装的Web环境。然后我进入Linux服务器,找到apache的主配置文件 httpd.conf , 我的apache服务器下有多个虚拟主机,我找到我要做301重定向的虚拟主机,然后添加如何的代码(代码是完整的):
1、进入Linux服务器,然后找到httpd.conf的Apache 主配置文件,下图红色框是我所在的完整位置,蓝色框是内容,也就是命令pwd现实所在位置,ls查询当前位置的内容。
既然找到主配置文件了,我们通过命令vi httpd.conf 编辑一下,在最后添加如下完整的代码。要找到配置的那个虚拟主机然后添加代码, 不要乱添加。
ServerName www.abc.com
ServerAdmin webmaster@dummy-host.example.com
LogLevel warn
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
ServerName abc.com
ServerAdmin webmaster@dummy-host.example.com
RewriteEngine on
RewriteRule ^(.*)$ http://www.abc.com$1 [R=301,L]
LogLevel warn
ErrorLog logs/dummy-host.example.com-error_log
CustomLog logs/dummy-host.example.com-access_log common
注意:不同形式安装的apache 其路径是不同的,有源码包、有YUM等安装方式,两种马路是不一样的,建议新手联系空间商并实施301重定向。
④:绑定/本地DNS
如果具有对本地DNS记录进行编辑修改的权限,则只要添加一个记录就可以解决此问题。若无此权限,则可要求网站托管服务商对DNS服务器进行相应设置。
⑤:DNS服务器的设置
若要将blog.abc.com指向www.abc.com,则只需在DNS服务中应增加一个别名记录,可写成:blog IN CNAME www.abc.com。
如需配置大量的虚拟域名,则可写成:* IN CNAME www.abc.com.
这样就可将所有未设置的以abc.com结尾的记录全部重定向到www.abc.com上。
ASP.NET怎样实现页面重定向
网站中肯定有多个页面构成,页面间的关系支撑着网站的层次关系。这就考虑到一个页面重新定向的问题,微软提供的ASP.NET中提供了如下3种常用的页面重定向方式:
1. 超链接
最常见的方法是使用超链接作为用户提供跳转到目标页的“接口”。可以在 ASP.NET 网页上使用HTML<a>标记创建静态链接,也可以通过使用 HyperLink 服务器控件以编程方式控制超链接的链接文本和目标 URL,如下面的代码所示。
代码实例:
<a href="<http://www.net.cn/>oonseo.cn" target="_blank">SEO研究中心</a>
<asp:HyperLink
ID="HyperLink1"
runat="server"
NavigateUrl="<http://www.net.cn/>oonseo.cn">
我的网站
</asp:HyperLink>
这两种方法的特点在于可以将页面重定向到任何页,而不局限于同一Web应用程序当中。但是不会将当前页的信息传递到目标页,如果需要跨页传递(共享)信息,通常需要使用查询字符串或会话状态。
2. 使用浏览器以编程方式重定向
可以通过调用 Redirect 方法为页面设置重定向URL。
代码实例:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Redirect("~/Test.aspx");
}
Redirect 方法接受一个表示目标位置的字符串。当服务器遇到Redirect语句时,将发送一条指令(包含新的地址)给浏览器,然后让浏览器去发送http请求。与 超链接一样,Redirect 方法不会向目标页传递信息。如果源页和目标页位于同一Web应用程序中,则可以通过将数据存储在会话状态中在源页和目标页之间共享数据。
3. 在服务器端以编程方式重定向
Redirect是通过浏览器进行重定向的,而Transfer 方法则是在服务器上直接重定向到目标页。也就是说,比起Redirect方法,Transfer少了一个由服务器传输数据到浏览器的过程,而直接由服务器 端转向目标页。Transfer方法的另一个显著特点就是在页面转换时,Request集合里的内容不会丢失,从而为开发人员带来了方便。
代码实例:
protected void Button1_Click(object sender, EventArgs e)
{
Server.Transfer("~/Test.aspx");
}
由于源页和目标页之间的传输在服务器上进行,浏览器没有任何关于更改后的页的信息,它仍保留有关原始(源)URL 的信息。例如,Internet Explorer 中的“地址”框在执行传输后不会发生变化,而是继续显示最近请求的页(通常为源页)的 URL。因此,对于以隐藏 URL 的方式向用户呈现页面的应用程序而言,调用 Transfer 方法是一种最佳的策略。注意:采用Transfer方式重定向,源页与目标页必须位于相同的 Web 应用程序中,否则会引发异常。
写在最后:
上述则是A5营销整理的301重定向。总的来说,网站改版可以通过301重定向将旧版本页面的所有全部传递到新版本页面上,另外则是对URL做规范化。实施的过程中要注意为什么要做301重定向、方法的操作、操作的正确度等,为了更好的设置301重定向,A5营销建议参考以上整理的内容。转自A5营销
相关文章:
-
在线HTML实体转字符串工具 #22235;在线HTML实体转汉字 HTML实体编码互转 https://uutool.cn/html2str/ http://www.toolzl.com/tools/htmlende.html...
-
Viewport viewport:可视窗口,也就是浏览器。 vw Viewport宽度, 1vw 等于viewport宽度的1% vh Viewport高度, 1vh 等于viewport高的的1% CSS3使用Calc calc()使用通用的数学运算规则,但是也提供更智能的功能:...
-
今天西安蟠龙网络小编分享一款基于jQuery+html5实现焦点轮播幻灯片,自适应全屏显示,支持不同的3d动态切换特效,兼容基本所有的浏览器,但不支持IE8及以下浏览器。 该幻灯片基于jquery,所...
-
小程序定制开发联系西安蟠龙网络,我们竭诚为您服务! 微信小程序是个划时代的产品,解决了大多数APP令人头疼的问题,不用再在手机上下载各种各样的APP,随用随关不占用手机空间,依附于...
-
基本定义 403错误,是网站访问过程中,常见的错误提示。资源不可用。服务器理解客户的请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置导致。那么网站出现403错误怎么办呢?...
-
我们的网站经常会出现各种错误代码,比如404、503等等,我们原来发过一篇名为 网站404错误 怎么办的文章,说明遇到404错误应该怎么处理,那么网站出现503错误怎么办呢? 基本定义 503是一种...
-
IIS (Internet Information Server,互联网信息服务)是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏 览、文件传输、新闻服务和邮件发送等方面...
-
您可以通过在Google中对自己的网站执行“site:”搜索(例如[site:example.com]),随时留意自己的网站上是否有可疑活动。搜索结果中是否有任何您不认识的可疑网址或目录?...
-
Discuz! 是腾讯旗下 Comsenz 公司推出的以社区为基础的专业建站平台,帮助网站实现一站式服务。让论坛(BBS)、个人空间(SNS)、门户(Portal)、群组(Group)、应用开放平台(Open Platform)充分...
-
本文档用于帮助您将原有的 Discuz! X 系列任意版本升级到 Discuz! X3.1 正式版本。一、升级前的准备 1、请您仔细阅读升级前的注意事项(非常重要)。2、后台关闭站点 3、后台关闭所有插件。4、...