2013-03-13 22 views
7

Sto lavorando su un'applicazione asp classica. Ho usato la riscrittura dell'URL su alcune pagine.richiama l'url corrente della pagina (riscrittura URL utilizzata)

Come posso ottenere l'URL corrente della pagina nel classico asp?

Esempio: http://www.site.com/page.asp ---> URL Rewrite in IIS --->http://www.site.com/home/page

ecco voglio corrente URL della pagina che è http://www.site.com/home/page

Ti prego, aiutami. Grazie.

+0

Non potete leggilo con 'Request.ServerVariables (" nome_server ") & Request.ServerVariables (" url ")'? Non so se questo funziona anche con gli URL riscritti ... –

+0

no Request.ServerVariables ("nome_server") = www.site.com e Request.ServerVariables ("url") = page.asp – Maddy

+0

Potresti contrassegnare una di queste risposte se fossero utili per te? In caso contrario, fatecelo sapere in modo che possiamo trovare la soluzione. – Konrad

risposta

11

Si può cercare di uscita tutti ServerVariables in questo modo:

for each key in Request.Servervariables 
    Response.Write key & " = " & Request.Servervariables(key) & "<br>" 
next 

Forse l'URL che cerchi è già lì. Utilizziamo il modulo Rewrite e c'è una variabile server denominata HTTP_X_ORIGINAL_URL che contiene il percorso dell'URL riscritto, ad es. "/ home/page" nel tuo esempio.

Protocollo (HTTPS=ON/OFF) e Server (SERVER_NAME) possono anche essere trovati in ServerVariables.

18

Non c'è fantasia una funzione che fa tutto.

In primo luogo è necessario ottenere il protocollo (se non è sempre http):

Dim protocol 
Dim domainName 
Dim fileName 
Dim queryString 
Dim url 

protocol = "http" 
If lcase(request.ServerVariables("HTTPS"))<> "off" Then 
    protocol = "https" 
End If 

Ora il resto con la stringa di query opzionale:

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 

auguro che funziona per voi.

0

Se si utilizza URL Rewrite, i dati URL può essere recuperata solo in questo modo:

Request.ServerVariables ("HTTP_X_ORIGINAL_URL")

Esempio

Dim domainName, urlParam 
domainName = Request.ServerVariables("SERVER_NAME") 
urlParam = Request.ServerVariables("HTTP_X_ORIGINAL_URL") 
response.write(domainName & urlParam) 
Problemi correlati