我工作在传统的ASP应用程序。 我在一些网页上使用URL重写。
我怎样才能在传统的ASP页面的当前URL?
例如: http://www.site.com/page.asp ---> URL重写在IIS ---> http://www.site.com/home/page
所以在这里,我想这是网页的当前URL http://www.site.com/home/page
请帮我。 谢谢。
我工作在传统的ASP应用程序。 我在一些网页上使用URL重写。
我怎样才能在传统的ASP页面的当前URL?
例如: http://www.site.com/page.asp ---> URL重写在IIS ---> http://www.site.com/home/page
所以在这里,我想这是网页的当前URL http://www.site.com/home/page
请帮我。 谢谢。
你可以试着输出像这样所有ServerVariables:
for each key in Request.Servervariables
Response.Write key & " = " & Request.Servervariables(key) & "<br>"
next
也许你所寻求的网址已经存在。 我们使用重写模块,有一个叫ServerVariable HTTP_X_ORIGINAL_URL
包含在你的榜样重写的URL路径,例如“/家/页”。
协议( HTTPS=ON/OFF
)和服务器( SERVER_NAME
)也可以在ServerVariables找到。
有没有花哨的一个函数,所有这一切。
首先,你需要获得协议(如果它并不总是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
希望对你有效。
如果使用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)