1. ホーム
  2. Web プログラミング
  3. ASP プログラミング
  4. アプリケーションのヒント

現在のフルパス(url)を取得するためのasp関数コード

2022-01-18 23:45:42

時々私はあなたがURL、ポート、パスファイル名、パラメータなどを取得する必要がありますか、ここで関数コードを共有するために、友人が以下を参照することができます必要とします。

機能1

<%
function GetUrl()
 on Error Resume Next
 Dim strTemp
if LCase(request.ServerVariables("HTTPS")) = "off" Then
strTemp = "http://"
Else
strTemp = "https://"
 end if
 strTemp = strTemp & Request.ServerVariables("SERVER_NAME")
 If Request.ServerVariables("SERVER_PORT") <> 80 Then strTemp = strTemp & ":" & Request.ServerVariables("SERVER_PORT") <> 80 Then strTemp = strTemp & "" & Request.ServerVariables("SERVER_NAME") quot;SERVER_PORT")
 strTemp = strTemp & Request.ServerVariables("URL")
 if trim(request.QueryString) <> "" Then strTemp = strTemp & ""? " & Trim(Request.QueryString)
 GetUrl = strTemp
End Function
response.write GetUrl()
%>

機能2

<! --get current page path --> 
<% 
dim str,host,url,keyword,full 
str = "http://"; 
host = Request.ServerVariables("HTTP_HOST") 
url = Request.ServerVariables("PATH_INFO") 'or url 
keyword = Request.ServerVariables("QUERY_STRING") 
if keyword <> "" then 
full = str&host&url&""? "&keyword 
else 
full = str&host&url 
end if 
session("url")=full 
%>

https判定に対応するため、使用する場合は必ず1番を選択してください。

404ページ経由でなければ、これは利用できませんので、jsを組み合わせて実現する必要があります。

jsページ

<script>
var pathname = window.location.pathname;
location.replace("/do.asp?p="+pathname);
</script>

do.aspにパスを渡して処理させる

strpath=Request("p")です。

つまり、404の前にページを取得し、その後、操作を行うことができる、ディレクトリのパーミッションに注意を払う。また、404ペナルティiframeで動作するように配置することができます。