得到的页面(使用URL重写)的当前网址(get current url of the page (u

2019-08-17 13:27发布

我工作在传统的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

请帮我。 谢谢。

Answer 1:

你可以试着输出像这样所有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找到。



Answer 2:

有没有花哨的一个函数,所有这一切。

首先,你需要获得协议(如果它并不总是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

希望对你有效。



Answer 3:

如果使用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)


文章来源: get current url of the page (used URL Rewrite)