ASP muss diese Funktion verwenden, um die aktuelle URL abzurufen, oder um alle Parameter der aktuellen Seite abzurufen. Ich habe sie nicht ausführlich getestet. Ich werde Ihnen nach dem Testen den spezifischen Code geben.
Wenn die Adresse lautet:
http://dxy.com:8082/test/geturl.asp?Param-VR52tmx3syn03777.html
Methode 1: Einfach, keine Parameter, nur ein virtueller Pfad
Kopieren Sie den Codecode wie folgt:
GetUrl =request(url) 'Da wir das Wort url= nicht haben, können wir es direkt übergeben.
Methode 2: Holen Sie sich die gesamte URL und die Parameter
Kopieren Sie den Codecode wie folgt:
'Holen Sie sich die Adresse der aktuellen Seite
Funktion GetUrl()
Bei Fehler Weiter fortsetzen
Dimmen Sie strTemp
Wenn LCase(Request.ServerVariables(HTTPS)) = off Dann
strTemp = http://
Anders
strTemp = https://
Ende wenn
strTemp = strTemp & Request.ServerVariables(SERVER_NAME)
Wenn Request.ServerVariables(SERVER_PORT) <> 80, dann strTemp = strTemp & : & Request.ServerVariables(SERVER_PORT)
strTemp = strTemp & Request.ServerVariables(URL)
Wenn Trim(Request.QueryString) <> Then strTemp = strTemp & ? & Trim(Request.QueryString)
GetUrl = strTemp
Funktion beenden
Nach dem Testen dieses Codes lautet der erhaltene Pfad:
/test/geturl.asp?Param-VR52tmx3syn03777.html=
Methode 2: Rufen Sie den virtuellen Pfad und die Parameter ab
Kopieren Sie den Codecode wie folgt:
Private Funktion GetUrl()
Dimmen Sie ScriptAddress,M_ItemUrl,M_item
ScriptAddress = CStr(Request.ServerVariables(SCRIPT_NAME)) 'Holen Sie sich die aktuelle Adresse
M_ItemUrl =
If (Request.QueryString <> ) Then
ScriptAddress = ScriptAddress & ?
Für jedes M_item in Request.QueryString
If M_item = page_num Then Exit for 'Die Funktion hier besteht darin, die Parameter von Page_num herauszufiltern (dieser Parameter wird in page_turn.asp selbst festgelegt und ändert sich entsprechend den persönlichen Einstellungen), andernfalls wird dieser bei jedem Umblättern überlagert. Obwohl die Parameter keinen Einfluss auf die Funktion haben, sind sie dennoch nicht gut ~~
Wenn InStr(page,M_Item)=0 Dann
M_ItemUrl = M_ItemUrl & M_Item &=& Server.URLEncode(Request.QueryString(&M_Item&))
anders
M_ItemUrl = M_ItemUrl & M_Item &=& Server.URLEncode(Request.QueryString(&M_Item&)) & &
Ende wenn
Nächste
Anders
ScriptAddress = ScriptAddress & ?
Ende wenn
GetUrl = ScriptAddress & M_ItemUrl
Funktion beenden
Die durch den obigen Code erhaltene Adresse lautet
http://dxy.com:8082/test/geturl.asp?Param-VR52tmx3syn03777.html
Im Grunde das Gleiche
Wenn wir nur das Ding nach der ?-Nummer erhalten möchten, können wir den folgenden Code verwenden
Kopieren Sie den Codecode wie folgt:
Response.write replace(request.querystring,.html,)
Was wir bekommen ist Param-VR52tmx3syn03777. Entspricht es unseren Anforderungen?
PS: Alle oben genannten Situationen gelten nur für reines ASP. In Kombination mit URLrewrite werden die Funktionen verbessert und auch die Suchfreundlichkeit verbessert.