我正在研究经典的asp应用程序。我在一些页面上使用了URL重写。
如何在经典的asp中获取当前页面的url?
示例: IIS中的http://www.site.com/page.asp -> url重写-> http://www.site.com/home/page
所以在这里我想要的页面的当前url是http://www.site.com/home/page
请帮帮我。谢谢。
发布于 2013-03-14 18:04:02
您可以尝试输出所有ServerVariables,如下所示:
for each key in Request.Servervariables
Response.Write key & " = " & Request.Servervariables(key) & "<br>"
next
也许您要查找的URL已经存在。我们使用重写模块,并且有一个名为HTTP_X_ORIGINAL_URL
的页面,其中包含重写后的URL路径,例如示例中的“/ ServerVariable /HTTP_X_ORIGINAL_URL
”。
协议(HTTPS=ON/OFF
)和服务器(SERVER_NAME
)也可以在ServerVariables中找到。
发布于 2013-03-14 06:20:31
没有一个花哨的函数可以做所有的事情。
首先,您需要获取协议(如果协议不总是http的话):
Dim protocol
Dim domainName
Dim fileName
Dim queryString
Dim url
protocol = "http"
If lcase(request.ServerVariables("HTTPS"))<> "off" Then
protocol = "https"
End If
现在使用可选的查询字符串:
domainName= Request.ServerVariables("SERVER_NAME")
fileName= Request.ServerVariables("SCRIPT_NAME")
queryString= Request.ServerVariables("QUERY_STRING")
url = protocol & "://" & domainName & fileName
If Len(queryString)<>0 Then
url = url & "?" & queryString
End If
希望它能为你工作。
发布于 2017-10-05 15:32:52
如果使用URL重写,则只能通过以下方式检索url数据:
Request.ServerVariables("HTTP_X_ORIGINAL_URL")
示例
Dim domainName, urlParam
domainName = Request.ServerVariables("SERVER_NAME")
urlParam = Request.ServerVariables("HTTP_X_ORIGINAL_URL")
response.write(domainName & urlParam)
https://stackoverflow.com/questions/15395280
复制相似问题