2016-03-01 60 views
1

如果我在我的Apache 的DocumentRoot目錄圖片的目錄,我想的JavaScript在我的網站就知道該目錄什麼圖像都可以,在我看來有兩個選擇:可以將Apache配置爲允許瀏覽器中的JS獲取服務器目錄內容?

  1. 提供的服務器端腳本中的這些圖像的列表,可以 檢查目錄並返回其中的項目列表。
  2. 使用服務器上的腳本/可執行代碼在該目錄中構建文件(例如「contents.js」)。該文件將列出目錄中包含的文件 ,並且前端的JS將能夠通過 訪問此文件。

但是,是否可以配置Apache以提供對該目錄的訪問,以便JS可以向服務器請求目錄內容?也許使用mod_autoindex或其他東西整潔?有沒有人做過這個?

我實際上並不想將它用於圖像,所以這只是一個假設的例子。

謝謝

回答

1

Javascript只能通過HTTP與服務器通信。沒有祕密後門或任何「獲取目錄內容」。 Apache將必須服務於一些文檔,這些文檔可以被Javascript解釋爲傳遞目錄中的文件。

可能將Apache配置爲提供目錄列表,但這些通常是HTML頁面,您需要在Javascript中解析以提取信息。不是不可能的,但肯定不是優雅的。此外,這些目錄列表可以公開顯示,並且可以根據需要公開顯示(當然,任何解決方案都會公開地公開這些信息,這是沒有辦法的)。

使用JSON數據或者XML數據,Javascript可以更輕鬆地工作。我不知道在JSON中輸出目錄列表的任何Apache mod。因此,從試圖獲取該數據的Javascript文件的角度來看,讓服務器端REST端點提供定製的JSON(或只是根據需要更新的靜態.json文件)是一種更優雅的解決方案。

+0

感謝您的回答。我想你一定是對的。我希望有人寫過一個JS插件來解析/遍歷HTML Apache目錄列表,或者有一個不同的核心Apache模塊可以將目錄內容作爲XML或JSON返回。我猜這兩者都不是。 – bishbashbosh