Apache-2.2

顯示帶有 RAND 種子的靜態頁面,到期了嗎?

  • September 21, 2011

在 Apache 中,是否有任何方法(使用 CGI 和 PHP 等腳本)可以獲取所有靜態內容(html、圖像和指定大小範圍內的文件)並將其作為隨機連結發送給使用者,設置為(例如 30 分鐘)到期?這最好不要使用 mod_proxy 或相反,因為所有文件都將位於同一伺服器上。我只是想學習一種合理的方法來製作這樣的東西:http ://www.example.com/09-21-2011/USA/CA/article-name.html顯示為http:// www.example.com/09-21-2011/USA/CA/randomnumbersandletters(沒有 .html)。我意識到可以使用 mod_rewrite 輕鬆修復 html 部分。

對此的任何幫助將不勝感激。

這裡有一個這樣的例子:http: //memory.loc.gov/frd/cs/httoc.html 點擊文章部分的任何連結,滾動到該頁面的底部。

說:

Do NOT bookmark these search results.

Search results are stored in a TEMPORARY file for display purposes. 
The temporary file will be purged from our system in a few hours.

連結如下:

.../cgi-bin/query/r?randomnumbersandletters

可選功能是將臨時會話儲存在 SQL 數據庫中,並包括使用者 IP 和訪問時間/日期。

這不是系統管理問題,而是程式問題。


一種快速的貧民區解決方案算法:

  1. 建立會話
  2. 訪問頁面時,對該會話的某些表示以及 URL 欄中請求的頁面的某些表示進行編碼
  3. 如果訪問文件的會話已過期或從無效主機訪問,則拒絕該請求

類似的類似貧民窟的解決方案memory.loc.gov(實際上從單獨的伺服器中提取數據並將其儲存在臨時位置)

  1. 建立會話
  2. 當請求一個文件時,看看我們是否已經在該會話的目錄中本地擁有它。
  • 如果我們有文件,顯示它(重定向使用者或使用腳本語言讀取它)
  • 如果我們沒有文件檢索它並將其粘貼在會話的臨時目錄中,則顯示如上。
  1. 當一個會話的臨時目錄沒有被訪問時TIME_PERIOD,刪除它。

引用自:https://serverfault.com/questions/314098