我想知道是否有人可以帮助我。
我有以下网址(动态)
www.website.com/images/gal/boxes-pic004.asp
如何使用经典ASP
提取'boxes-pic004'部分由于
答案 0 :(得分:9)
<%
Dim sScriptLocation, sScriptName, iScriptLength, iLastSlash
sScriptLocation = Request.ServerVariables("URL")
iLastSlash = InStrRev(sScriptLocation, "/")
iScriptLength = Len(sScriptLocation)
sScriptName = Right(sScriptLocation, iScriptLength - iLastSlash)
%>
然后 sScriptName
将包含boxes-pic004.asp
,然后您也可以使用Replace(sScriptName, ".asp", "")
删除扩展程序。
答案 1 :(得分:7)
您可以尝试输出所有 ServerVariables ,例如
例如Page Url: https://www.google.com/gmail/inbox.asp?uid=1421&skyid=2823595
Dim strProtocol
Dim strDomain
Dim strPath
Dim strQueryString
Dim strFullUrl
If lcase(Request.ServerVariables("HTTPS")) = "on" Then
strProtocol = "https"
Else
strProtocol = "http"
End If
strDomain= Request.ServerVariables("SERVER_NAME")
strPath= Request.ServerVariables("SCRIPT_NAME")
strQueryString= Request.ServerVariables("QUERY_STRING")
strFullUrl = strProtocol & "://" & strDomain & strPath
If Len(strQueryString) > 0 Then
strFullUrl = strFullUrl & "?" & strQueryString
End If
Response.Write "Domain : " & strDomain & "</br>"
Response.Write "Path : " & strPath & "</br>"
Response.Write "QueryString : " & strQueryString & "</br>"
Response.Write "FullUrl : " & strFullUrl & "</br>"
<强>输出:强>
Domain : www.google.com
Path : /gmail/inbox.asp
QueryString : uid=1421&skyid=2823595
FullUrl : https://www.google.com/gmail/inbox.asp?uid=1421&skyid=2823595
答案 2 :(得分:2)
简单
只需使用Request.ServerVariables("SCRIPT_NAME")
,然后进行一些字符串切割即可获得所需的内容。
答案 3 :(得分:1)
我认为这取决于你用来进行URL重写的方法。
使用IIS - 请参阅此前一篇文章,了解如何提取完整网址:get current url of the page (used URL Rewrite)
使用404 - 这是我过去的工作方式,访问原始URL的唯一方法是检查查询字符串。 404 URL将如下所示:
https://website.com/rewrite.asp?404;http://website.com/images/gal/boxes-pic004.asp
要获取网址,我使用以下内容:
Function getURL()
Dim sTemp
sTemp = Request.Querystring
' the next line removes the HTTP status code that IIS sends, in the form "404;" or "403;" or whatever, depending on the captured error
sTemp = Right(sTemp, len(sTemp) - 4)
' the next two lines remove both types of server names that IIS includes in the querystring
sTemp = replace(sTemp, "http://" & Request.ServerVariables("HTTP_HOST") & ":80/", "")
sTemp = replace(sTemp, "http://" & Request.ServerVariables("HTTP_HOST") & "/", "")
sTemp = replace(sTemp, "https://" & Request.ServerVariables("HTTP_HOST") & "/", "")
sTemp = replace(sTemp, "https://" & Request.ServerVariables("HTTP_HOST") & ":443/", "")
' the next bit of code will force our array to have at least 1 element
getURL = sTemp
End Function
这将为您提供完整的原始网址,然后您可以使用简单的拆分提取您需要的部分:
tmpArr = Split(getURL(),"/")
strScriptName = tmpArr(UBound(tmpArr))
然后strScriptName变量将返回“boxes-pic004.asp”。
希望这有帮助。