ASP实现全站的301跳转
作者:草上飞 来源:草上飞blog 发布时间:2010-03-27 21:45:00
更换域名,估计是很多站长都很头疼的事情。通常大家的做法就是把老的域名通过IIS设置做301跳转到新的域名。对于只有一个虚拟空间的站长来说,换域名更是头疼,没有多余的空间来绑定老的域名,只能放弃老的域名被搜索引擎收录的数据。
通过IIS设置的301跳转会有一个问题,以前被搜索引擎收录的文章怎么办?用户如果通过搜索引擎搜索到老的页面,点进去后,确是一个找不到的页面,或者是跳转到一个首页。这样的话,就没办法让用户进入他想要进的页面,从而会造成网站用户的流失。
本文讲述怎么通过ASP代码来实现全站的301跳转,因为要用ASP来实现,所以只能针对网站里面的所有ASP文件来做301跳转。通过本代码,可以实现list.asp?id=xxxx这种形式的跳转。
对于HTML页面静态页面,还没法实现全站的301跳转。
因本站的http://indexed.linkhelper.cn前面的indexed有点长,不太好记,于是把域名更换为,但是这个子域名下已经有很多页面被百度、google收录。本文就通过几行简单的代码把http://indexed.linkhelper.cn全站301跳转到http://i.linkhelper.cn相对应的页面。
下面来看看代码的具体实现:
通常对于一个网站来说,每个ASP页面都会包含同一个文件。有conn.asp,或者是函数库function.asp。所以,我们直接在公用文件中进行实现,从而实现全站301跳转。
本站包含文件为:function.asp。
所以我在function.asp最上端加了如下代码(注意:下面代码只能加在ASP文件代码中的最上面。):
<%
currentdomain= request.ServerVariables("SERVER_NAME") '获取地址栏中当前的域名。
currenturl=request.ServerVariables("url") '获取地址栏中的域名后的ASP文件名。
currentrequest=request.ServerVariables("QUERY_STRING") '获取地址栏中?后面的参数
'如果你当前浏览的是老的PR查询地址http://indexed.linkhelper.cn/querypr.asp?url=www.newbooks.com.cn|www.linkhelper.cn。则获得的currentdomain为indexed.linkhelper.cn
currenturl为/querypr.asp ,currentrequest为url=www.newbooks.com.cn|www.linkhelper.cn
If currentdomain="indexed.linkhelper.cn" Then '因为i.linkhelper.cn和indexed.linkhelper.cn是公用所有文件。所以这里加个判定,只有当当前浏览的域名是indexed.linkhelper.cn的时候才做301跳转,只有才能实现就算是公用文件,一个空间绑定多个域名,实现老域名跳转到新的域名。
moveurl="http://i.linkhelper.cn"¤turl '重新组合为http://i.linkhelper.cn/querypr.asp
If currentrequest<>"" Then
moveurl=moveurl&"?"¤trequest '因为还有参数,所以将参数也组合到新的跳转地址中去。
End if
'跳转。
Response.Status="301 Moved Permanently" '以下两句实现301永久性跳转
Response.AddHeader "Location",moveurl
End if
%>


猜你喜欢
- 1.排序ORDER BY 子句来设定哪个字段哪种方式来进行排序,再返回搜索结果。desc:降序select * from blog orde
- 条件查询范围查询模糊查询条件查询all()返回全部结果集filter(**kwargs)返回满足参数定义的结果集 例如Entry.objec
- 下面是十个Python中很有用的贴士和技巧。其中一些是初学这门语言常常会犯的错误。注意:假设我们都用的是Python 31. 列表推导式你有
- 本文实例为大家分享了python sklearn分类算法模型调用的具体代码,供大家参考,具体内容如下实现对'NB',&nbs
- 如下所示:#encoding=utf-8import xlrdfrom xlwt import *#------------------读数
- 排序排序是指以特定格式排列数据。排序算法指定以特定顺序排列数据的方式。最常见的顺序是数字或字典顺序。在 Numpy 中,我们可以使用库中提供
- 今天笔者带大家,梳理几个常见的基于文本终端的 UI 框架,一睹为快!Curses首先出场的是 Curses。Curses 是一个能提供基于文
- 在Centos中安装完MySQL数据库以后,不知道密码,这可怎么办,下面给大家说一下怎么重置密码1、修改配置文件my.cnf 按i编辑[ro
- 在这篇文章(不敢妄称教程,最多称之为学习笔记)里,我会从头开始实现客户端模板的效果。不过你不要期望能够在这里找到可以直接拿去使用直接复用灵活
- 一、zmial发送邮件zmial是第三方库,需进行安装pip install zmail完成后,来给发一封邮件subject:标题conte
- 本文实例为大家分享了python绘制直方图的具体代码,供大家参考,具体内容如下用两列数据绘制直方图#coding=gbkimport xlw
- vue踩坑之params传递参数1.我们都知道 vue中 params传递参数都需要配置占位符 。2.但是 一定要注意, 重点来了:如果 /
- 获取要爬取的URL爬虫前期工作用Pycharm打开项目开始写爬虫文件字段文件items# Define here the models fo
- 大家好,之前我们使用 WechatPCAPI 做了获取微信好友信息以及查看撤回消息,本文我们再使用 WechatPCAPI 来实现微信自动回
- python中的with语句使用于对资源进行访问的场合,保证不管处理过程中是否发生错误或者异常都会执行规定的__exit__(“清理”)操作
- 这几年来,我们这个行业一直都在谈用户体验,以用户为中心的设计。“用户体验”是指用户访问网站的界面、功能、相关信息的可读性、操作的方便性,交互
- Plotly Express是对 Plotly.py 的高级封装,内置了大量实用、现代的绘图模板,用户只需调用简单的API函数,即可快速生成
- 我打算将WebQQ单独出来运行, 一开始直接拷贝了pyxmpp2的mainloop, 但是跑起来问题多多, 所以我又研究了利用Tornado
- 本文最主要参考的是这一篇,后端也是用django来完成。大文件上传(秒传/断点续传)_使用Vue-Simple-Uploader插件 --V
- MySQL中的锁锁是为了解决并发环境下资源竞争的手段,其中乐观并发控制,悲观并发控制和多版本并发控制是数据库并发控制主要采用的技术手段(具体