一段Asp301重定向过程代码
作者:雨哲 时间:2010-05-04 16:38:00
现在的域名提供已经取消免费的url转发功能,而且我们一般主要用的是带www的域名,以前不带www的域名一般是做url转发跳转到带www的域名上的。现在域名提供取消了这项免费功能,如果不使用这项功能有时候又影响网站访问访问,因为我们并不知道用户输入的是带www的还是不带www的域名。
为了更方便用户访问,所以我们还是得考虑到两种情况都有可能出现,所以仍然还是需要两个域名(带www的和不带www,如aspxhome.com和www.aspxhome.com)都能正常访问。而且一般如果两个域名都绑定到一个网站上,这样相对于收录又可能存在权重问题。所以最好的方法还是用301重定向功能来实现自动跳转,而且搜索引擎也能识别到。
网站asp的301重定向代码很好找的,我这里写成一个过程可以直接调用。下面的代码只是实现不带www的域名跳转到带www的域名,包括参数。注意,伪静态的路径无法识别。
Sub Location301(iLocationDomain) 'iLocationDomain-是要跳转的不带www的域名,我这样写是方便不同用户的不同域名直接调用不用修改代码。
Dim NowHostDomain, ScriptAddress, RQueryString, LocationUrl
NowHostDomain = Trim(Request.ServerVariables("HTTP_HOST"))
If NowHostDomain = iLocationDomain Then
ScriptAddress = Trim(Trim(Request.ServerVariables("SCRIPT_NAME"))) '路径及文件名
'ScriptAddress = "/" '手动设置文件名或目录路径
RQueryString = Trim(Request.QueryString) '参数
LocationUrl = "http://www." & iLocationDomain & ScriptAddress
If RQueryString <> "" Then LocationUrl = LocationUrl & "?" & RQueryString '路径及文件名+参数
Response.Status = "301 Moved Permanently"
Response.AddHeader "Location", LocationUrl
Response.End
End If
End Sub
'调用 Call Location301("aspxhome.com")