平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“asp获取当前完整路径(url)的函数代码”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
落到代码里,有时候我么您需拿到网址,端口、路径文件名、参数等,这里就为大家分享一下这个函数代码,需的朋友能够参考下
函数1
<%
function GetUrl()
on Error Resume Next
Dim strTemp
if LCase(request.ServerVariables("HTTPS")) = "off" Then
strTemp = "http://"
Else
strTemp = "https://"
end if
strTemp = strTemp & Request.ServerVariables("SERVER_NAME")
if Request.ServerVariables("SERVER_PORT") <> 80 Then strTemp = strTemp & ":" & Request.ServerVariables("SERVER_PORT")
strTemp = strTemp & Request.ServerVariables("URL")
if trim(request.QueryString) <> "" Then strTemp = strTemp & "?" & Trim(Request.QueryString)
GetUrl = strTemp
End Function
response.write GetUrl()
%>
函数2
<%
dim str,host,url,keyword,full
str="http://";
host = Request.ServerVariables("HTTP_HOST")
url = Request.ServerVariables("PATH_INFO") '或url
keyword = Request.ServerVariables("QUERY_STRING")
if keyword <> "" then
full = str&host&url&"?"&keyword
else
full = str&host&url
end if
session("url")=full
%>
采用的话肯定选择第一个,兼容https的判断。
若是借助404页面除非,这个是拿到不到的,需结合js来实现
比如:
js页面
将路径传参给do.asp进行处理
strpath=Request("p")
结合项目来看,即可拿到404之前的页面,随后进行执行操作即可,注意目录权限。也能够放到404中处罚iframe进行操作。
