精华内容
下载资源
问答
  • 主要介绍了ngin配置301重定向设置方法和nginx子目录301重定向,需要的朋友可以参考下
  • 幸好有301重定向能有效解决这样的问题。正如月光博客这篇文章中说的, 301重定向可促进搜索引擎优化效果 从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。当网站的域名发生变更后,搜索引擎只对...
  • nginx url自动加斜杠问题及301重定向,URL指向一个目录并且在最后没有包含斜杠,会301重定向跳转,添加server_name或修改访问重定向。 nginx url自动加斜杠问题及301重定向 内部服务器使用nginx,做网站测试之用。...
  • 过IIS做301重定向确可以实现传递网站的权重,还不会导致流量丢失。
  • 主要介绍了nginx中域名、目录的301重定向配置示例,分为域名和域名间的跳转,目录跳转等,需要的朋友可以参考下
  • 本篇文章主要介绍了详解Nginx几种常见实现301重定向方法上的区别,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 感觉BAIDU spider对404的重定向似乎无动于衷,于是近日干脆对原失效的链接重新设置301重定向
  • 在网上查询了一下还没有人分享linux主机如何通过.htaccess文件同时实现301重定向和伪静态的,为帮助朋友少走弯路,特以把经验分享一下。 用PW做了一个新站,备案审核通过,百度、Google也均已收录。但有个问题是,...
  • .htaccess文件教程 301重定向 自定义404错误.zip
  • 我们给大家整理了关于ASP.NET中实现301重定向的方法以及小技巧总结,有兴趣的朋友可以操作试试。
  • 一、301重定向实施: 我们网站(www.b.com)原来的域名是a.com,明显差很多,换了域名之后,要做的第一件事自然就是301重定向。  提醒一点:即使你不是换域名,也应该考虑把“b.com”301重定向至“www.b.com”。 ...
  • 文档讲述了消除301缓存的方法,并举例说明
  • 重定向是一个WordPress插件,用于管理301重定向,跟踪404错误,并且通常会整理您的网站可能存在的任何松散结局。 如果您要从旧网站迁移页面或更改WordPress安装目录,则此功能特别有用。 注意:这是重定向的当前...
  • 本文主要介绍php 实现301重定向跳转,通过实例代码让大家更好的理解重定向的方法,有需要的小伙伴可以参考下
  • 301重定向完整解析

    2020-03-11 09:58:07
    301重定向完整解析

    在优化网站的时候,301重定向是站长们必不可缺的一项优化,而301重定向主要用于将内容从一个位置移动到另外一个位置。其实,在理解上也是非常简单的,比如我在http://www.abc.com/a.html上有一些内容,接着我想重构网站,于是我想把此页面上的内容移动到http://www.abc.com/b.html上。所以,我可以实施301重定向将这个页面的所有指标全部转移到另一个页面上。

    可能有人会问,为什么非要给重构的网站做301重定向?首先做301重定向之前要明白一点,重定向不仅对用户很重要,而且对于搜索引擎也是很重要的,当网站改版后并通过实施301重定向, 可以让用户或搜索引擎访问旧版页面不是404错误页面,而是成功访问新版本的页面,还可以让搜索引擎知道你是何时移动内容的,所以才会给需要重构的网站做301重定向。

    为什么今天谈301重定向的问题呢?之所以谈这个问题也是因为之前在分析诊断企业网站时,发现了各种各样的301重定向问题:比如企业网站重构后没用对旧版本的页面重定向到新版本,导致重构后的网站出现大量的404错误页面,而且网站也因为这些404页面导致权重流失、降权。

    另外,在设置301重定向的时出现设置错误或不知道该怎么去设置等情况。笔者发现很多企业的站长对301重定向认识不够、操作错误等。下面针对这个问题做一些整理,希望可以帮助到中小型企业站长正确、有效的设置301重定向。

     一、301重定向的作用

    301重定向的作用有很多,平时站长在做301重定向的时候,一是为了URL规范化并集中权重不让权重分散、二是为了网站改版,将旧版本的页面的所有指标全部转移到新版本的页面上。而实施301重定向可以做到这些,在作用上也是非常的强大,也建议中小企业的站长有效的利用301重定向给网站带来的作用。

     二、在什么情况下必须做301重定向

    以下五种情况是必须要做301重定向的,当然如果这五种情况都没有发生的话可以选择不做,下面详细的介绍一下。

    ①:网站的旧内容过期并被删除掉

    网站的一些内容过期了,所以要被删掉了,如果还想留着可以通过301重定向实现。

    ②:网站有一些具有链接和流量的无效URL

    如果你发现这些无效的URL还有流量权重,可以通过301重定向重新生成页面。

    ③:网站更换了主机托管公司

    如果网站更换了主机托管公司,不影响用户查找网站内容的任何URL的情况下,可以不需要做301重定向。

    ④:网站更换程序

    网站进行较大的改版,网站程序需要更换,此时会影响很多URL,可以通过301重定向来解决。

    ⑤:网站实施URL规范化

    网站默认的URL分:

    1、abc.com

    2、www.abc.com

    3、abc.com/index.html

    4、www.abc.com/index.html

    为了进行网址规范化和不分散权重,通常只出现一个标准的URL,我们可以通过301重定向来实现。例如:我的网站网址只出现http://www.abc.com/的URL,我可以将其他三个URL通过301重定向到这个URL上,这样以来就不会分散权重了,可能带index.html后缀的URL做301重定向容易出现死循环,为了避免这样的情况也是有解决办法的,下面会详细讲解的。

    ⑥:网站因为各种原因而改变现有内容的URL

    可能企业网站因为各种各样的原因而改变了现有内容的URL,这种情况的发生是站长没法预测到的,如果这种情况发生了而改变了URL,建议通过301重定向来解决,尽力避免死链接的出现。

    总结上述需要注意:并不是所有的情况都是需要做301重定向的;但是,任何URL的更改都是需要做301重定向的。原因很简单,为了避免出现404错误页面而导致不该发生的情况发生。

      三、做301重定向的注意事项

    当301重定向实施完之后,旧版本页面跳转到了新版本页面,或网址规范化了再或者其他的,大部分的站长都不会注意到301的HTTP状态是否返回成功。就在此时,可能有些网站的301重定向不传递状态或者出现404错误的状态码,这样容易造成任何情况下做的301重定向无法达到效果。笔者认为,想要正确的、有效果的做301重定向,一些细节还是需要注意的。

    例如:404错误(页面未找到)或者200 OK(页面成功加载);301(返回301状态码成功)

    正确的HTTP状态码:

    错误的HTTP状态码:

    总结上述需要注意:如果遇到这种情况也是一个被重视的问题,所以要避免这样的问题发生,如果站长在做301永久重定向后,一定要确保HTTP状态是返回301,如果HTTP状态码不是返回的301状态码而是200或404再或者是其他的状态码,那么301重定向应该未操作成功,建议站长检查是哪点出的问题然后解决。

    四、301永久重定向后权重会不会叠加

    301永久重定向后权重会不会叠加呢?很多站长都在考虑这个问题,部分站长想通过这种途径来投机取巧。301永久重定向后权重是可以叠加的,但权重不会相加。那么,什么样的网站做301重定向权重是可以叠加的,什么样的网站做301重定向权重是不能叠加的?下面详细的说明一下。

    ①:两个相同的网站做301重定向是可以叠加权重的,但权重不是全部转移过来,而且要看站点符不符规则,一般来说权重再转移的时候会损失一部分。

    ②:两个不相同的网站做301重定向是不可以叠加权重的,为什么呢?如果两个网站一点也不相同,权重不仅不会转移过来,而且百度也不愿意这么做,所以两个不相同的网站没法传递权重和叠加权重。

     五、301重定向和302重定向的区别

    重定向的方法其实是有很多的,但不同的方法会出现不同的结果,而且区别也是非常大的。目前,根据WEB服务器返回给浏览器的HTTP状态码,重定向主要分为301永久重定向、302临时重定向,两种重定向是根据不同情况来做的,下面就详细的对两种重定向详细的说明一下。

    ①:301永久重定向

    首先,301永久重定向。这个状态码告诉用户、搜索引擎、浏览器,该资源已经永久性的移动到另一个位置(旧版本页面永久重定向到新版本页面),而且没有恢复原位的打算。301永久重定向最适合目录转移,推荐使用301重定向!

    ②:302临时重定向

    然后,302临时重定向。这个状态码告诉用户、搜索引擎、浏览器,该资源已经暂时性的移动到另外一个位置(旧版本页面临时重定向到新版本页面),这种移动不会当作永久性,而且会恢复原来的位置,但一些情况下适合使用302重定向。

    302重定向对手机站优化是有一定的好处,百度官方给的建议:比如减少内容死链,如果没有内容,最好通过HTTP状态码指定,如404、403等;如果内容死链希望重定向到首页,最好通过302跳转,不要使用javascript跳转。此时可以发现302重定向对手机站优化是有好处的。

    注意:两种形式的重定向都会将用户、搜索引擎发送到新的位置(页面),但搜索引擎对待这两个HTTP状态码却不同。当搜索引擎看到301状态码的时候,会判断旧版本页面将权重或任何其他的指标永久转移到新页面。当搜索引擎看到302HTTP状态码的时候,会假设它不应该将旧页面的历史链接跟权重转移到新的页面,意思是转移后还是会转移回来的。另外,如果做301永久重定向,会导致搜索引擎从索引上(百度、谷歌)删除旧页面并用新页面代替。

    六、301永久重定向首页索引文件,如何避免出现循环

    做优化的站长都应该知道,绝大部分网站的首页URL都是以http://www.abc.com/index.html的形式表现,但一般都是输入http://www.admin5.cn/访问首页。而此时首页出现了两个的版本的URL,给网站带来的影响则是分散链接权重。可能有站长会想到网址规范化。是的,没错,通过网址规范化即可实现一个标准的URL表现形式。

    大部分的站长看到这种情况都会通过301永久重定向将http://www.abc.com/index.html重定向到http://www.admin5.cn/上,然后通过301永久重定向修复URL。但是,如果站长没有正确的实施301重定向,通常301重定向的问题会扩大,比如出现死循环现象。

    默认文档重定向解决方案:

    ①:将index.php的内容复制到另外一个文件,比如a.php文件。

    ②:为文档目录创建一个Apache DirectoryIndex 指令,将该质量的目标设置为a.php,不要在全服务器级别上设置该指令;否则,它可能造成其他仍然需要使用index.php作为目录索引的文件夹的问题。

    ③:在文档根目录下的.htdaccess文件中放入:DirectoryIndex a.php 或者,如果不使用各个目录中单独的上下文文件,可以在.htdaccess中放入以下内容:DirectoryIndex a.php

    ④:清除原始index.php文件内的内容,插入如下代码:

    总结上述需要注意:这样的设置让index.php不再是目录索引文件,也就是默认文件名。它在用户输入规范URLhttp://www.abc.com/时会强制读取a.php,那么任何从旧链接到index.php的请求现在都进行了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上。

      写在最后:

    上述则是笔者整理的301重定向。总的来说,网站改版可以通过301重定向将旧版本页面的所有全部传递到新版本页面上,另外则是对URL做规范化。实施的过程中要注意为什么要做301重定向、方法的操作、操作的正确度等,为了更好的设置301重定向,建议参考以上整理的内容。

    本文由A5营销SEO诊断服务 www.admin5.cn/seo/zhenduan/ 原创编辑,转载请注明出处!

    展开全文
  • 主要介绍了Nginx下配置301重定向的正确方法例子,本文给出了常用的配置方法例子和正确的配置例子,需要的朋友可以参考下
  • 301重定
  • NULL 博文链接:https://onestopweb.iteye.com/blog/2254611
  •  在网络上看了些教程,再根据自己的实践,也终于搞定了IIS服务器上的301永久重定向设置问题。实现方法如下:  1.新建一个站点,对应目录如E:\wwwroot\301web。该目录下只需要1个文件,即index.html或者加个404.ht
  • 以前小站的固定链接好不人性化,结构是/%year%/%monthnum%/%postname%/,这样看起来又不直观又长的,今天做了一个301重定向,然后修改了新的固定链接,现在的固定链接格式是/%postname%.html,这样看起来短了好多,也直观了...
  • redirection, 管理你的所有 WordPress 301重定向并监视 404错误 命令行重定向PHP JavaScript 重定向是一个WordPress插件来管理 301个重定向,跟踪 404个错误,通常整理你站点的任何松散端。 如果你正在从旧网站迁移...
  • 详解301重定向及实现方法

    万次阅读 2018-01-19 11:09:12
    一、什么是301重定向  301重定向(或叫301跳转、301转向)是用户或搜索引擎蜘蛛向网站服务器发出访问请求时,服务返回的HTTP数据流中头信息(header)部分状态码的一种,表示本网址永久性转移到另一个地址。其他...

    一、什么是301重定向

      301重定向(或叫301跳转、301转向)是用户或搜索引擎蜘蛛向网站服务器发出访问请求时,服务返回的HTTP数据流中头信息(header)部分状态码的一种,表示本网址永久性转移到另一个地址。其他常见的状态码还包括:200(表示一切正常);404(网页不存在);302(临时性转向);500 (内部程序错误);

      除了301转向,网址转向还有其他方法,如302转向、JavaScript转向、PHP/ASP/CGI程序转向、Meta Refresh等。

      301重定向对搜索引擎优化具有不可替代的作用。用301重定向巩固规范版本的URL,重拾权重,防止搜索结果的重复内容。从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。

    二、什么情况下使用301重定向

      网站改版经常需要用到301重定向:如网站更换域名,改变网页目录结构,网页被移到一个新地址,网页扩展名改变,如因需要把 .php 改成 .html。在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失。使用301重定向不仅能使页面实现自动跳转,告诉用户你已经换了新的网址了。同时也告诉搜索引擎,这个才是真正的网址,搜索引擎只对重定向后的新网址进行索引,同时又会把旧地址权重如数转移到新地址下,从而不会让网站的排名因为网址变更而受到影响。

      一个网站注册了多个域名,需要通过301重定向让访问这些域名的用户自动跳转到其中一个主域名。这样做是为了避免造成大量复制内容,而遭到搜索引擎惩罚。因为在搜索引擎看来,每个域名都是一个独立的站,多个域名指向同一站,会被认定为站点雷同,内容复制,轻则不收录进入沙盒期,重则直接被K。

      实现网址规范化也需要301重定向

      假设有下面几个网址:

      http://www.admin10000.com/index.html

      http://admin10000.com

      http://admin10000.com/index.html

      都做301重定向到 http://www.admin10000.com(选定的规范化网址),搜索引擎就知道 http://www.admin10000.com 是规范化网址,而且会把上面列的网址权重传递集中到规范化网址。

      目前Google会传递大部分权重,但不是百分之百权重。百度会传递所有权重。Google对301的识别、反应、完成权重传递,需要1~3个月时间。百度对301处理则比较保守,新旧URL会同时存在于数据库很长时间。

    三、Apache服务器实现301重定向

      如果网站使用LAMP(Linux + Apache + MySQL + PHP)主机,可以利用Apache的mod_rewrite对URL进行重写或重定向。需要以下几步:

      1、首先确保开启了mod_rewrite功能。

      用文本编辑器打开Apache安装目录\conf\httpd.conf,找到“#LoadModule rewrite_module modules/mod_rewrite.so”这行,去掉前面的“#”;

      继续查找“AllowOverride None”,修改为“AllowOverride All”;

      然后,重启Apache即可。

      2、在你需要URL重定向的网站根目录下放一个.htaccess文件,文件名是.htaccess,Windows下不能直接建立,你可以用记事本另存为。

      3、在.htaccess中通过正则表达式重定向到需要的页面。示例如下:

      将不带www的顶级域名301重定向到带www的域名

        Options +FollowSymLinks
        RewriteEngine On
        RewriteCond %{HTTP_HOST} ^admin10000.com [NC]
        RewriteRule ^(.*)$ http://www.admin10000.com/$1 [L,R=301]

      将页面301重定向到另外一个页面

        Options +FollowSymLinks
        RewriteEngine On
        RewriteRule ^/oldpage.html$ /newpage.html[NC,L,R=301]

    四、IIS服务器下做301重定向设置方法

      示例:将admin10000.com 跳转到 www.admin10000.com

      1、新建一个站点,对应目录如d:\site。该站点主要用于转向,目录可以是空的,不需要任何文件。然后为该站点绑定要跳转的域名admin10000.com,如图:

      2、在IIS中选中刚才我们建立的站点,右键,属性,主目录,选择重定向到,输入另一个绑定好 www.admin10000.com 域名的网站地址(这个网站下存放有网站内容)。输入的地址是:http://www.admin10000.com$S$Q,同时注意选中下面的"资源的永久重定向选项" 和 “上面输入的准确URL” 这2个选项。如下图:

      对于$S$Q字符,这里解释一下:

      $S 将请求的URL的后缀传递给新的URL。后缀是用重定向的URL 代替之后,初始URL 中所保留的部分。

      如果未选中 "上面输入的准确URL" 选项,则结果目标URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。

      $Q 将初始URL中的参数(如 querystring 参数)传递至新的 URL,包括问号(?)。

      如果不加上 $S$Q 字符的话,内页的301都会跳转到首页,加上$S$Q字符的目的就是内页也能准确的跳转到新域名的对应内页。

      好了,这样就完成了301永久重定向的设置,设置好之后最好能测试一下301重定向是否成功。站长工具的HTTP状态工具(http://tool.chinaz.com/pagestatus/)即可查到,如果查到的返回状态是301就说明你已经成功了。

    五、使用ISAPI_Rewrite实现IIS的301重定向

      ISAPI_Rewrite是用于IIS的第三方URL重写组件。它是基于正则表达式的,类似Apache mod_rewrite功能,不仅可以实现URL重写,还可以实现301重定向。

      ISAPI_Rewrite组件有免费版(Lite)以及商业版(Full),免费版只支持全局httpd.conf 配置,不能对每个站点进行单独设置,而商业版可以让每个站点自定义URL重写规则,只要将httpd.ini 放在站点根目录下就能生效。

      请使用 ISAPI_Rewrite 2.x 或者 最新的3.0 版本(它兼容Apache的mod_rewrite的语法),而较早的1.x 版本不支持301重定向功能。

      下面给出示例:

      1. 将不带www的顶级域名301重定向到带www的域名

    # ISAPI_Rewrite 2.x 版本
    [ISAPI_Rewrite]
    # 3600 = 1 hour
    CacheClockRate 3600
    RepeatLimit 32
    RewriteCond Host: ^admin10000\.com$
    RewriteRule (.*) http://www.admin10000.com$1 [I,RP]
    # ISAPI_Rewrite 3.0 版本
    [ISAPI_Rewrite]
    # 3600 = 1 hour
    CacheClockRate 3600
    RepeatLimit 32
    RewriteCond %{HTTP:Host} ^admin10000\.com$
    RewriteRule (.*) http://www.admin10000.com$1 [NC,R=301]

      2. 不同域名之间的301转向

    # ISAPI_Rewrite 2.x 版本
    [ISAPI_Rewrite]
    # 3600 = 1 hour
    CacheClockRate 3600
    RepeatLimit 32
    RewriteCond Host ^www\.test10000\.com$
    RewriteRule (.*) http://www.admin10000.com$1 [I,RP]
    # ISAPI_Rewrite 3.0 版本
    [ISAPI_Rewrite]
    # 3600 = 1 hour
    CacheClockRate 3600
    RepeatLimit 32
    RewriteCond %{HTTP:Host} ^www\.test10000\.com$
    RewriteRule (.*) http://www.admin10000.com$1 [NC,R=301]

      3. 将页面301重定向到另外一个页面

    # ISAPI_Rewrite 2.x 版本
    [ISAPI_Rewrite]
    # 3600 = 1 hour
    CacheClockRate 3600
    RepeatLimit 32
    RewriteRule ^/oldpage.html$ /newpage.html[I,O,RP,L]
    # ISAPI_Rewrite 3.0 版本
    [ISAPI_Rewrite]
    # 3600 = 1 hour
    CacheClockRate 3600
    RepeatLimit 32
    RewriteRule ^/oldpage.html$ /newpage.html[NC,L,R=301,O]

    六、在网页后台程序中实现301重定向

      如果页面是ASP/PHP/JSP/ASP.NET 可以再后台代码中做301重定向。

      但是我个人不推荐这样,因为在服务器上做301跳转是在你的页面执行之前就开始跳转,效率高。而程序代码中做301,要为每个页面头部加转向代码,比较麻烦。

      示例如下:

      1、PHP下的301重定向

    <?
      Header("HTTP/1.1 301 Moved Permanently");
      Header("Location: http://www.admin10000.com");
    ?>

      2、ASP下的301重定向

    <%@ Language=VBScript %>
    <%
      Response.Status = "301 Moved Permanently"
      Response.AddHeader "Location", "http://www.admin10000.com"
    %>

      3、ASP .NET下的301重定向

    <script runat="server">
    private void Page_Load(object sender, System.EventArgs e)
    {
          Response.Status = "301 Moved Permanently";
          Response.AddHeader ("Location", "http://www.admin10000.com");
    }
    </script>

      4、JSP下的301重定向

    <%
      response.setStatus(301);
      response.setHeader("Location", "http://www.admin10000.com");
      response.setHeader("Connection", "close");
    %>

      提示:如果返回报头中只有Location,但没有明确提到状态代码时,就意味着一个302临时重定向。请谨记于心。例如下面都是302重定向:

      PHP 下的302重定向

    <?
       php header("Location: http://www.admin10000.com");
    ?>  
    

      Asp 下的302重定向

    <%
       Response.Redirect "http://www.admin10000.com/"
    %>

      ASP.NET 302重定向

    <script runat="server">
      private void Page_Load(object sender, System.EventArgs e)
      {
         Response.Redirect("http://www.admin10000.com");
      }
    </script>

      JSP 下的302重定向

    <%
        response.sendRedirect("http://www.admin10000.com");
    %>
    

      总结:301重定向是一种对搜索引擎最友好的网址转向方法。在众多重定向技术中,301永久性重定向是最为安全的一种途径,也是极为理想的一款解决方案。无论是URL永久性改变,还是多种格式URL规范化都离不开301重定向。

    展开全文
  • 在网站建设中需要网页重定向的情况很多:如网页目录结构变动,网页重命名、网页的扩展名改变、网站域名改变等。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 54,842
精华内容 21,936
关键字:

301重定向