Передача URL-адреса с запросом внутри другого URL-запроса немного сложна.Единственный способ, которым это работает, - это закодировать его.Например:
https://website.com/?a=1&url=https%3A%2F%2Fwebsite.com%2F%3Fz%3D1%26y%3D2
Но, если вы хотите вернуться к URL-адресу, который вы передали через запрос, вам нужно декодировать его, иначе он не будет работать.Вы можете использовать следующую функцию на своей «странице входа» перед перенаправлением URL.
Function URLDecode(sConvert)
Dim aSplit
Dim sOutput
Dim I
If IsNull(sConvert) Then
URLDecode = ""
Exit Function
End If
' convert all pluses to spaces
sOutput = REPLACE(sConvert, "+", " ")
' next convert %hexdigits to the character
aSplit = Split(sOutput, "%")
If IsArray(aSplit) Then
sOutput = aSplit(0)
For I = 0 to UBound(aSplit) - 1
sOutput = sOutput & _
Chr("&H" & Left(aSplit(i + 1), 2)) &_
Right(aSplit(i + 1), Len(aSplit(i + 1)) - 2)
Next
End If
URLDecode = sOutput
End Function
Например, у вас должна быть указанная выше функция и следующий код на странице входа в систему:
Dim callback
callback = Request("callback")
callback = URLDecode(callback)
Response.redirect(callback)