万能301跳转方法

操作方法

  • 01

    大家都知道目前301重定向是最有用的跳转方式,不仅可以实现SEO亲和性跳转,而且还可以实现权重的传递。 大家也通常会在不同情况下有不同的301重定向需求,如要将不带www的域名301到带www的域名、将闲置老域名301到主域名、将原放在子目录下的论坛301到新的bbs二级域名、更换域名将某域名下所有页面301重定向到新域名下对应页面等等。 分析不同情况的301的需求,其实都需要保证如下两点: 1) 成功跳转,并正确发送301状态 2) 实现原页面跳转到新对应的页面 第一点怎么实现大家基本都有常见到各种各样的301重定向教程,而第二点因为不同CMS/程序、不同环境,实现方便难有统一的解决办法。下面落叶分两点先简单介绍下IIS下(服务器、虚拟主机)如何实现正确的301跳转,然后再重点介绍落叶原创的百试不爽的万能301跳转方法 - URL伪静态重写+PHP301跳转,实现所有程序对应页面跳转。 1. IIS下正确实现基本的301跳转: 如我为了保证网站域名单一性,集中权重,希望将bitscn.com 301永久重写向到www.bitscn.com,那么: 1) 服务器:如果有服务器的操作权限,直接另外新建一个网站,然后在IIS上设置“资源永久重定向”: 2) 虚拟主机:在IDC虚拟主机后台把不带www的域名绑定一个子目录,然后,在子目录下放置一个index.php,在其中放上301跳转的代码: <?php  header("HTTP/1.1 301 Moved Permanently");  header('location:http://www.bitscn.com/');  exit;?> 上面服务器上直接IIS上的操作,不仅可以实现跳转到首页,勾选“资源的永久重定向”还可以实现原域名下所有子页面都跳转到新域名下对应页面,而上面虚拟主机上的301跳转代码则只可实现首页的跳转或者单一目录的跳转。 2. 对应页面跳转的万能301:URL伪静态重写+PHP301 对应页面301跳转的方法有很多,最笨的方法是手动一页一页301到对应的新页面,但实际不具可操作性,除非只是少数几个页面,要是更新域名等的301,基本不可能。那么怎样通用的实现对应页面的301跳转呢?URL伪静态+PHP301又是怎样操作的呢? 要实现对应页面跳转,首先要分析原页面URL的结构,然后分析新页面的URL规则,然后实现301的跳转,落叶通过采用的URL伪静态+PHP301的操作是通过分析原URL的规则,利用IIS中httpd.ini中的伪静态功能,将原URL正则重写到单一的PHP入口,然后通过该单一PHP中获取到原URL的特征字符串,对应跳转到新页面的特征字符串。 上面一句话其实已经概括完了整个的操作方法,下面举例说明实际的实现。 例一:我想将原放在子目录下www.abc.com/bbs/访问的论坛更换为bbs.abc.com。 a.伪静态重写URL: 将下面伪静态规则放于根目录下的httpd.ini文件中 [ISAPI_Rewrite]# 3600 = 1 hourCacheClockRate 3600RepeatLimit 32# Protect httpd.ini and httpd.parse.errors files# from accessing through HTTPRewriteRule ^(.*)/bbs/(.*)$ $1/bbs/301\.php\?go=$2 [L] 作用:将BBS目录下所有链接都重写到index.php并使用go参数来传递,如http://www.abc.com/bbs/thread-112-1.html的链接重写成http://www.abc.com/bbs/301.php?go=thread-112-1.html,下一步就是在index.php中接收go参数(如thread-112-1.html),301跳转到http://bbs.abc.com/thread-112-1.html。将内页多入口转换为经过index.php的单一入口,集中控制。 b.在301.php中接收参数,并实现301永久重定向: <?php$go=$_GET['go'];//获取跳转页面链接部分,如"thread-112-1.html",又如forum.php?fid=32等header("HTTP/1.1 301 Moved Permanently");//发送301状态,之后的所有跳转均为301header('location:http://bbs.abc.com/'.$go);//根据go参数跳转到对应页面exit;?> 例二:我原论坛放在www.abc.com主域名下的,现在主域名想做文章站,论坛换到bbs.abc.com下,我想原www.abc.com域名原论坛的部分URL全301到bbs.abc.com对应页面,而新的文章内容不跳转。 如www.abc.com/forum-1-1.html www.abc.com/thread-1-1-1.html www.abc.com/tag-%D6%AA.html 跳转到 bbs.abc.com/forum-1-1.html 而www.abc.com/article/123.html等不跳转。 a.分析你要部分跳转的URL的种类及大致格式: 如你上面提到的要跳转的有论坛版块文章列表页、论坛帖子内容页、论坛的TAG标签页,这三类页面的URL结构很典型,即你说的: www.abc.com/forum-1-1.html www.abc.com/thread-1-1-1.html www.abc.com/tag-%D6%AA.html b.把这些特征页面全伪静态重写到一个301.php页面: 帖子列表页:RewriteRule ^(.*)/forum-(.*)$ $1/301\.php\?go=forum-$2 [L]帖子内容页:RewriteRule ^(.*)/thread-(.*)$ $1/301\.php\?go=thread-$2 [L]Tag标签页:RewriteRule ^(.*)/tag-(.*)$ $1/301\.php\?go=tag-$2 [L] 等等,其它特征页类似重写,需要你对伪静态正则写法有一定了解 3.PHP301对应跳转: <?php$go=$_GET['go'];header("HTTP/1.1 301 Moved Permanently");header('location:http://bbs.abc.com/'.$go);exit;?> 这个URL伪静态重写+PHP301方法(呵呵,如有雷同纯属巧合),百试不爽,但关键有一点,需要大家了解伪静态规则的写法。这一点其实涉及到一些正则表达式的知识,但是相信大家只要仔细看一下自己使用的CMS或者论坛程序提供的伪静态规则,细心观察上,就可以模仿上面例子的思路进行301跳转了。

(0)

相关推荐

  • 360浏览器中阅读pdf文档时使用目录跳转方法

    相信很多小伙伴都有阅读过pdf文档,那么在其中我们怎么去使用目录跳转呢?方法很简单,下面小编就来为大家介绍.具体如下:1. 首先,选中一个pdf文件后右键,在弹出选项中依次点击"打开方式&q ...

  • 虚拟主机301重定向的方法!

    windows系列虚拟主机IIS 301定向方法: 前提条件:支持伪静态的虚拟主机 步骤/方法 01 步骤:找到虚拟主机的文件根目录 02 在空间的根目录下新建文件"httpd.ini&qu ...

  • 金山WPS万能百宝箱怎么用 金山WPS万能百宝箱安装使用方法

    一:必须是完整版OFFICE,不能是绿色版、精简版,它们不支持COM加载宏. 二:必须关闭Excel状态下安装或者删除工具,安装后重启Excel即可. 三:如果是VISTA或WIN 7,必须以管理员用 ...

  • 微信如何实现在线预约功能?微信万能表单制作方法

    如何更好地使用万能表单实现微信预约报名功能,是发挥微信更大价值的一个方面,该功能可以设置先关注公众号,才能参加,制作也比较简单,商家可以通过这种方式让粉丝在线填写一些信息,达到预约或者报名的目的 所需 ...

  • Word文档快速实现不同位置的跳转方法

    当进行文档编辑时,有时需要从文档的某一位置跳到同一文档的另一位置;或者同时打开了多个不同的文档,可能经常要从一个文档移到另一个文档。这样移来移去,再重新寻找原来的编辑位置,很麻烦。不过别着急,下面就教 ...

  • wifi万能钥匙如何看密码?wifi万能钥匙查看密码方法

     准备工作 1、安装wifi万能钥匙的安卓系统手机; 2、下载安装R. E管理器; 3、笔记本电脑。 操作方法 第一步、打开wifi万能钥匙后看可以破解的wifi热点,如图有钥匙图按的表示可以链接。 ...

  • html5 页内书签描点跳转方法

    锚点是网页制作中超级链接的一种,又叫命名锚记.在一个网页很长的时候,对内容的分类页内跳转很有帮助! 1.在HTML页面中适当位置定义如下的锚点: <a name="top"& ...

  • 给大家科普一下wifi万能钥匙的使用方法

    攻略一:如下图界面第二栏的放大镜按钮,在使用这款软件时,这个按钮是首选按钮,初来乍到,一定要点它,因为点击了之后,如下图,列表右边的符号就会显示查询的结果,也就是说哪些加密热点已经被分享过了. 电脑软 ...

  • 磊科NW618无线路由器万能恢复程序使用方法

    磊科NW618无线路由器万能恢复程序使用方法