12

私は古典的なASPアプリケーションに取り組んでいます。一部のページで URL 書き換えを使用しています。

従来のASPでページの現在のURLを取得するにはどうすればよいですか?

例: http://www.site.com/page.asp ---> IIS での URL 書き換え ---> http://www.site.com/home/page

ここで、 http: //www.site.com/home/page であるページの現在の URL が必要です

私を助けてください。ありがとう。

4

3 に答える 3

21

それをすべて行う派手な関数はありません。

まず、プロトコルを取得する必要があります (常に http ではない場合)。

Dim protocol
Dim domainName
Dim fileName
Dim queryString
Dim url

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

残りはオプションのクエリ文字列で:

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

それがうまくいくことを願っています。

于 2013-03-13T22:20:31.407 に答える
19

次のように、すべての ServerVariables を出力することができます。

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

探している URL が既に存在している可能性があります。HTTP_X_ORIGINAL_URLRewrite モジュールを使用し、例では「/home/page」など、書き換えられた URL パスを含むServerVariable が呼び出されます。

Protocol ( HTTPS=ON/OFF) と Server ( SERVER_NAME) も ServerVariables に含まれています。

于 2013-03-14T10:04:01.610 に答える