ASP获得完整访问地址的方法
暂时不知道怎么获得锚点,其他的协议、端口、参数都可以得到了。
vbscript版本
<%
Function getUrl()
'' @ Get full url
'' @ fisker lionkay@gmail.com
Dim protocol , serverName , serverPort , queryString , scriptName
If LCase(Request.ServerVariables("Https")) = "on" Then
protocol = "https://"
Else
protocol = "http://"
End If
serverName = Request.ServerVariables("Server_Name")
serverPort = Request.ServerVariables("Server_Port")
scriptName = Request.ServerVariables("Script_Name")
If serverPort <> "80" Then serverPort = ":"&serverPort
queryString = Request.ServerVariables("Query_String")
If queryString <> "" Then queryString = "?"&queryString
getUrl = protocol & serverName & serverPort & scriptName & queryString
End Function
%>
JScript版
<%@LANGUAGE="JSCRIPT"%>
<%
function getUrl()
{
// @ Get full url
// @ fisker lionkay@gmail.com
var protocol = ((String(Request.ServerVariables("Https")).toLowerCase()) == "on")?"https://":"http://" ;
var serverName = String(Request.ServerVariables("Server_Name")) ;
var serverPort = String(Request.ServerVariables("Server_Port")) ;
serverPort = (serverPort == "80")?"":":"+serverPort ;
var queryString = String(Request.ServerVariables("Query_String")) ;
queryString = (queryString == "")?"":"?"+queryString ;
var scriptName = String(Request.ServerVariables("Script_Name")) ;
return protocol + serverName + serverPort + scriptName + queryString ;
}
%>
域名转移的时候,我们就可以在公用的头部文件中加入下面这段示例代码
<%
dim sName
sName = Request.ServerVariables("Server_Name")
if (sName <> "www.wuyouw.com") then
dim newUrl
newUrl = replace(getUrl(),sName,"www.wuyouw.com")
Response.Redirdect(newUrl)
end If
%>
如果要使用301转向则需要用这段代码
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://www.wuyouw.com/"
Response.End
%> |