wjnhome.com,連接埠 88virtual 指向同一站點hosts:127.0.0.1 wjnhome.comhttps://wjnhome.com:88/virtual/urldemo.aspx?id=2#top// 虛擬目錄路徑
Response.Write("Request.ApplicationPath: " + Request.ApplicationPath);
// 實體檔案完整路徑
Response.Write("Request.PhysicalPath: " + Request.PhysicalPath);
Response.Write("DirectoryName: " + System.IO.Path.GetDirectoryName(Request.PhysicalPath));
Response.Write("Request.PhysicalApplicationPath: " + Request.PhysicalApplicationPath);
// 目前頁面檔名
Response.Write("FileName: " + System.IO.Path.GetFileName(Request.PhysicalPath));
// 虛擬路徑
Response.Write("Request.CurrentExecutionFilePath: " + Request.CurrentExecutionFilePath);
Response.Write("Request.FilePath: " + Request.FilePath);
Response.Write("Request.Path: " + Request.Path);
// 原始 URL 與 Uri 屬性
Response.Write("Request.RawUrl: " + Request.RawUrl);
Response.Write("Request.Url.AbsolutePath: " + Request.Url.AbsolutePath);
Response.Write("Request.Url.AbsoluteUri: " + Request.Url.AbsoluteUri);
Response.Write("Request.Url.Scheme: " + Request.Url.Scheme);
Response.Write("Request.Url.Host: " + Request.Url.Host);
Response.Write("Request.Url.Port: " + Request.Url.Port);
Response.Write("Request.Url.Authority: " + Request.Url.Authority);
Response.Write("Request.Url.LocalPath: " + Request.Url.LocalPath);
Response.Write("Request.PathInfo: " + Request.PathInfo);
Response.Write("Request.Url.PathAndQuery: " + Request.Url.PathAndQuery);
Response.Write("Request.Url.Query: " + Request.Url.Query);
Response.Write("Request.Url.Fragment: " + Request.Url.Fragment);
Response.Write("Request.Url.DnsSafeHost: " + Request.Url.DnsSafeHost);
Response.Write("Request.Url.OriginalString: " + Request.Url.OriginalString);
Response.Write("Request.Url.UserInfo: " + Request.Url.UserInfo);
Response.Write("Request.UrlReferrer: " + Request.UrlReferrer);
// Uri.Segments 逐段拆解
for (int i = 0; i < Request.Url.Segments.Length; i++)
{
Response.Write("Request.Url.Segment" + i + ": " + Request.Url.Segments[i]);
}
| 屬性/方法 | 輸出值 | 說明 |
|---|---|---|
| Request.ApplicationPath | /virtual | 虛擬目錄應用程式路徑 |
| Request.PhysicalPath | E:\VsProject\201200420\UrlDemo\UrlDemo\urldemo.aspx | 伺服器端實體檔案完整路徑 |
| DirectoryName | E:\VsProject\201200420\UrlDemo\UrlDemo | 實體目錄路徑 |
| Request.PhysicalApplicationPath | E:\VsProject\201200420\UrlDemo\UrlDemo\ | 應用程式實體根目錄 |
| FileName | urldemo.aspx | 目前執行檔案名稱 |
| Request.CurrentExecutionFilePath | /virtual/urldemo.aspx | 目前執行檔案虛擬路徑(含虛擬目錄) |
| Request.FilePath | /virtual/urldemo.aspx | 請求檔案虛擬路徑 |
| Request.Path | /virtual/urldemo.aspx | 請求虛擬路徑(同 FilePath) |
| Request.RawUrl | /virtual/urldemo.aspx?id=2 | 原始 URL(含查詢字串,不含片段) |
| Request.Url.AbsolutePath | /virtual/urldemo.aspx | 絕對路徑(不含查詢字串) |
| Request.Url.AbsoluteUri | https://wjnhome.com:88/virtual/urldemo.aspx?id=2 | 完整絕對 URI |
| Request.Url.Scheme | http | 通訊協定 |
| Request.Url.Host | wjnhome.com | 主機名稱 |
| Request.Url.Port | 88 | 連接埠號 |
| Request.Url.Authority | wjnhome.com:88 | 主機名 + 連接埠 |
| Request.Url.LocalPath | /virtual/urldemo.aspx | 本地檔案系統格式路徑 |
| Request.PathInfo | (空字串) | 附加路徑資訊(如 /page.aspx/extra) |
| Request.Url.PathAndQuery | /virtual/urldemo.aspx?id=2 | 路徑 + 查詢字串 |
| Request.Url.Query | ?id=2 | 查詢字串(含 ?) |
| Request.Url.Fragment | (空字串) | 片段識別符(# 後內容),瀏覽器不送至伺服器 |
| Request.Url.DnsSafeHost | wjnhome.com | 適合 DNS 查詢的主機名(IPv6 時加括號) |
| Request.Url.OriginalString | https://wjnhome.com:88/virtual/urldemo.aspx?id=2 | 原始 URI 字串 |
| Request.Url.UserInfo | (空字串) | 使用者資訊(如 user:pass@host) |
| Request.UrlReferrer | (空字串) | 來源頁面 URL(若有轉向) |
| Request.Url.Segment0 | / | 根路徑 |
| Request.Url.Segment1 | virtual/ | 虛擬目錄段 |
| Request.Url.Segment2 | urldemo.aspx | 檔案段 |
ApplicationPath:應用程式根虛擬路徑(含虛擬目錄)FilePath / Path / CurrentExecutionFilePath:目前要求檔案虛擬路徑Url.AbsolutePath / Url.LocalPath:不含查詢字串的路徑PhysicalPath:完整實體檔案路徑PhysicalApplicationPath:應用程式實體根目錄RawUrl:原始 URL(相對路徑 + Query)Url.AbsoluteUri:完整絕對 URIUrl.OriginalString:原始字串表示Url.Query:?id=2(含問號)Url.PathAndQuery:路徑 + 查詢字串Url.Fragment:伺服器端無法取得,瀏覽器不傳送Url.Host / Url.DnsSafeHost:主機名Url.Port:連接埠Url.Authority:Host:Port 組合Url.Scheme:http/httpsRequest.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath 組合基底 URLRequest.Url.Scheme + "://" + Request.Url.Authority + Request.ApplicationPathRequest.ApplicationPath != "/"UrlReferrer:可為 null,需檢查再使用,不可作為安全依據