网络编程
位置:首页>> 网络编程>> Asp编程>> 一段Asp301重定向过程代码

一段Asp301重定向过程代码

作者:雨哲  发布时间:2010-05-04 16:38:00 

标签:301跳转,asp,域名绑定

现在的域名提供已经取消免费的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")

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com