示例...
https://myisp.com/mypage.html/foobar
我希望能夠運行一些mypage.html可以讀取的js,就foobar好像它是一個查詢引數一樣。我了解如何撰寫必要的 js,但我想了解是否可以將 Apache 配置為提供 html 頁面并將最終術語傳遞給頁面上運行的腳本。
uj5u.com熱心網友回復:
當瀏覽器看到的可見 URL 中沒有查詢字串時,您無法在服務器(即 Apache)上做任何事情來欺騙客戶端 JavaScript 以查看“查詢字串”。
使用 Apache mod_rewrite 您可以在內部重寫請求以轉換/foobar為查詢字串 - 但這是服務器內部的。瀏覽器/JavaScript 看不到這一點。
您可以實作外部重定向并將 URL 從明顯轉換/mypage.html/foobar為/mypage.html?foobar(或/mypage.html?/foobar)-但我希望這不是您所需要的。
但是,您無需將其轉換為 JavaScript 的查詢字串即可讀取它...
/mypage.html/foobar
在有效檔案名之后以斜杠開頭的部分(例如,/foobar在本例中)稱為附加路徑名資訊(也稱為“路徑資訊”)。通常,Apache 會在 text/html 檔案的默認檔案處理程式上拒絕此類請求,因此上述請求通常會導致 404 Not Found 回應。
.htaccess但是,您可以通過在根檔案頂部包含以下指令來允許所有 URL 上的路徑資訊:
AcceptPathInfo On
Apache 現在將提供服務/mypage.html而不是生成 404。瀏覽器會看到完整的 URL,即。這在物件的屬性(即)/mypage.html/foobar中可供 JavaScript 使用,然后您可以對其進行決議以提取(或)。pathnamelocationwindow.location.pathname/foobarfoobar
例如:
// Request "/mypage.html/foobar"
let pathInfo = /\.html\/(.*)/.exec(window.location.pathname)[1];
console.log(pathInfo); // foobar
pathInfo然后是您的“查詢字串”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/454896.html
標籤:javascript 网址 改写 阿帕奇2 查询参数
上一篇:如何使用pythonwebscrapping從jobpost中提取多個joburl
下一篇:抓取表格中的URL鏈接
