ASP は、現在の URL を取得するか、現在のページのすべてのパラメータを取得するためにこの関数を使用する必要があります。あまりテストしていません。テスト後に具体的なコードを示します。
アドレスが次の場合:
http://dxy.com:8082/test/geturl.asp?Param-VR52tmx3syn03777.html
方法 1: シンプル、パラメータなし、仮想パスのみ
次のようにコードをコピーします。
GetUrl =request(url) 'url= という単語がないので、直接渡すことができます。
方法 2: URL 全体を取得してパラメータを取得する
次のようにコードをコピーします。
'現在のページのアドレスを取得する
関数 GetUrl()
エラー時は次へ再開
薄暗い温度
LCase(Request.ServerVariables(HTTPS)) = オフの場合
strTemp = http://
それ以外
strTemp = https://
終了の場合
strTemp = strTemp & Request.ServerVariables(SERVER_NAME)
If Request.ServerVariables(SERVER_PORT) <> 80 then strTemp = strTemp & : & Request.ServerVariables(SERVER_PORT)
strTemp = strTemp & Request.ServerVariables(URL)
If Trim(Request.QueryString) <> then strTemp = strTemp & ? Trim(Request.QueryString)
GetUrl = strTemp
終了機能
このコードをテストした後、取得されるパスは次のとおりです。
/test/geturl.asp?Param-VR52tmx3syn03777.html=
方法 2: 仮想パスを取得してパラメータを取得する
次のようにコードをコピーします。
プライベート関数 GetUrl()
Dim ScriptAddress,M_ItemUrl,M_item
ScriptAddress = CStr(Request.ServerVariables(SCRIPT_NAME)) '現在のアドレスを取得します
M_ItemUrl =
If (Request.QueryString <> ) then
スクリプトアドレス = スクリプトアドレス & ?
Request.QueryString の各 M_item について
If M_item = page_num then Exit for 'ここでの機能は、Page_num のパラメーターをフィルターで除外することです (このパラメーターは page_turn.asp で独自に設定され、個人設定に従って変更されます)。それ以外の場合、これはページがめくるたびに重ね合わされます。パラメータは機能に影響しませんが、それでも良くありません~~
InStr(page,M_Item)=0 の場合
M_ItemUrl = M_ItemUrl & M_Item &=& Server.URLEncode(Request.QueryString(&M_Item&))
それ以外
M_ItemUrl = M_ItemUrl & M_Item &=& Server.URLEncode(Request.QueryString(&M_Item&)) & &
終了の場合
次
それ以外
スクリプトアドレス = スクリプトアドレス & ?
終了する場合
GetUrl = ScriptAddress & M_ItemUrl
終了機能
上記のコードで得られるアドレスは、
http://dxy.com:8082/test/geturl.asp?Param-VR52tmx3syn03777.html
基本的に同じです
? 番号の後のものを取得したい場合は、次のコードを使用できます。
次のようにコードをコピーします。
response.write replace(request.querystring,.html,)
得られるのは Param-VR52tmx3syn03777 です。これはニーズを満たしていますか?
PS: 上記の状況はすべて純粋な ASP にのみ当てはまります。urlrewrite と組み合わせると、機能が強化され、検索の利便性も向上します。