Home page   WebCheatSheet.com


ASP: How to Get the Current Page URL


Sometimes, you might want to get the current page URL that is shown in the browser URL window. For example if you want to let your visitors submit a blog post to Digg you need to get that same exact URL. There are plenty of other reasons as well. Here is how you can do that.

Add the following code to a page:

<%
function curPageURL()
 dim s, protocol, port

 if Request.ServerVariables("HTTPS") = "on" then
   s = "s"
 else
   s = ""
 end if  
 
 protocol = strleft(LCase(Request.ServerVariables("SERVER_PROTOCOL")), "/") & s 

 if Request.ServerVariables("SERVER_PORT") = "80" then
   port = ""
 else
   port = ":" & Request.ServerVariables("SERVER_PORT")
 end if  

 curPageURL = protocol & "://" & Request.ServerVariables("SERVER_NAME") &_
              port & Request.ServerVariables("SCRIPT_NAME")
end function

function strLeft(str1,str2)
 strLeft = Left(str1,InStr(str1,str2)-1)
end function
%>

You can now get the current page URL using the line:

<%
  response.write(curPageURL())
%>

If your page had Querystring info you want as well you could try code like this: 

<%
  response.write(curPageURL() & "?" & Request.ServerVariables("QUERY_STRING"))
%>

If your page had Form info that might have been posted to it then use the following code: 

<%
  response.write(curPageURL() & "?" & Request.Form)
%>

Sometimes it is needed to get the page name only. The following example shows how to do it: 

<%
function curPageName()
 dim pagename

 pagename = Request.ServerVariables("SCRIPT_NAME") 

  if inStr(pagename, "/") > 0 then 
    pagename = Right(pagename, Len(pagename) - instrRev(pagename, "/")) 
  end if 

 curPageName = pagename
end function

response.write("The current page name is " & curPageName())
%>



Copyright © 2005-2007 www.WebCheatSheet.com All Rights Reserved.