ASP precisa usar esta função para obter o URL atual ou obter todos os parâmetros da página atual. Não testei muito, darei a você o código específico após o teste.
Se o endereço for:
http://dxy.com:8082/test/geturl.asp?Param-VR52tmx3syn03777.html
Método 1: Simples, sem parâmetros, apenas um caminho virtual
Copie o código do código da seguinte forma:
GetUrl =request(url) 'Como não temos a palavra url=, podemos passá-la diretamente.
Método 2: obtenha o URL inteiro e os parâmetros
Copie o código do código da seguinte forma:
'Obtém o endereço da página atual
Função GetUrl()
Em caso de erro, retomar o próximo
Dim strTemp
Se LCase(Request.ServerVariables(HTTPS)) = desativado Então
strTemp = http://
Outro
strTemp = https://
Terminar se
strTemp = strTemp & Request.ServerVariables(SERVER_NAME)
Se Request.ServerVariables(SERVER_PORT) <> 80 Então strTemp = strTemp &: & Request.ServerVariables(SERVER_PORT)
strTemp = strTemp & Request.ServerVariables(URL)
Se Trim(Request.QueryString) <> Então strTemp = strTemp & ?
GetUrl = strTemp
Função final
Depois de testar este código, o caminho obtido é:
/test/geturl.asp?Param-VR52tmx3syn03777.html=
Método 2: Obtenha o caminho virtual e os parâmetros
Copie o código do código da seguinte forma:
Função privada GetUrl()
Dim ScriptAddress,M_ItemUrl,M_item
ScriptAddress = CStr(Request.ServerVariables(SCRIPT_NAME)) 'Obtém o endereço atual
M_ItemUrl=
Se (Request.QueryString <>) Então
ScriptAddress = ScriptAddress & ?
Para cada M_item em Request.QueryString
Se M_item = page_num Então saia para 'A função aqui é filtrar os parâmetros de Page_num (este parâmetro é definido por si mesmo em page_turn.asp e muda de acordo com as configurações pessoais), caso contrário, será sobreposto toda vez que a página for virada. Embora os parâmetros não afetem a função, eles ainda não são bons ~~
Se InStr(página,M_Item)=0 Então
M_ItemUrl = M_ItemUrl & M_Item &=& Server.URLEncode(Request.QueryString(&M_Item&))
outro
M_ItemUrl = M_ItemUrl & M_Item &=& Server.URLEncode(Request.QueryString(&M_Item&)) & &
Terminar se
Próximo
Outro
ScriptAddress = ScriptAddress & ?
terminar se
GetUrl = ScriptAddress e M_ItemUrl
Função final
O endereço obtido pelo código acima é
http://dxy.com:8082/test/geturl.asp?Param-VR52tmx3syn03777.html
Basicamente o mesmo
Se quisermos apenas obter o que vem depois do número ?, podemos usar o seguinte código.
Copie o código do código da seguinte forma:
resposta.write substituir(request.querystring,.html,)
O que obtemos é Param-VR52tmx3syn03777. Ele atende às nossas necessidades?
PS: Todas as situações acima são apenas para ASP puro. Se combinadas com urlrewrite, as funções serão aprimoradas e a facilidade de pesquisa também será aprimorada.