在搭建网站的时候通常会用到301跳转,用得最多的应该是用来把不带www的域名跳转到带www的域名,这样除了更适应用户的习惯,还有助于把网站的权重集中的其中一个域名下。301重定向的方法有很多,不同的网站程序跳转的方法不同,不同的服务器环境,跳转的方法也有多种,就看你属于那种情况,哪个更适合你,你就选哪种。下面分享asp网站的首页301重定向和全网站站(全部页面)的301重定向跳转。
首页301重定向
<% website=request.ServerVariables("Server_name")
'获取当前访问的域名
if website="hongjiys.com" then
'判断如果你的域名如果是wusiwei.com
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","https://www.wusiwei.com/"
'做301重定向到www.wusiwei.com
end if %>
把上面的代码放到首页的上方进行保存,就可以了,通过测试,返回的状态码是301就成功。这个只是做首页的301重定向,不过竟然都做了跳转,干嘛不让网站的所有页面都跳转都固定的域名呢,下面是全站的301重定向代码。
全站(所有页面)301重定向
步骤1:复制代码
<%
if request.ServerVariables("HTTP_HOST")="wusiwei.com" Then
if Request.ServerVariables("QUERY_STRING")<>"" Then
p="?"
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.wusiwei.com"&Request.ServerVariables("SCRIPT_NAME")&p&Request.ServerVariables("QUERY_STRING")
Response.End
elseif Request.ServerVariables("QUERY_STRING")="" and Request.ServerVariables("SCRIPT_NAME")<>"" and Request.ServerVariables("SCRIPT_NAME")<>"/index.asp" Then
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.wusiwei.com"&Request.ServerVariables("SCRIPT_NAME")
Response.End
else
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","https://www.wusiwei.com/"
Response.End
end if
end if
%>
把以上代码放到所有页面的顶部即可实现全站301重定向跳转。把网站任何一个不带www的网址去测试.如果返回是301就代表成功。
步骤2:放置代码
当然你可以把上面的代码一个一个复制到所有页面,不过这个会很多,不建议。可以放在公共调用的文件(如conn.asp)里面。再或者是放到head.asp文件中,具体根据你的网站文件结构,自行处理。
相关解释:request.ServerVariables变量的用法:
request.ServerVariables("SERVER_NAME") '获取当前的域名。
request.ServerVariables("SCRIPT_NAME") '返回当前页面的相对路径。 request.ServerVariables("QUERY_STRING") '获取?后面的参数
如网址:wusiwei.com/post-1338.html
那么request.ServerVariables("SERVER_NAME")获取到的值是wusiwei.com
request.ServerVariables("SCRIPT_NAME")获取到的值是/shownews.asp
request.ServerVariables("QUERY_STRING")获取到的值是id=199
相关文章:
- 除非注明,文章均为 Wings Blog 原创,欢迎转载!
- 本文固定链接: https://www.wusiwei.com/post-1339.html
- 转载请注明: : Wings 2015年10月29日 于 WingsBlog 发表