XRX/URL 重寫
外觀
< XRX
您希望系統中的 URL/URI 反映服務的邏輯結構,而不是資料庫的集合結構。
使用 Jetty 重寫處理程式,該處理程式可以與 Jetty 伺服器一起安裝。RewriteHandler 使用 XML 配置檔案來儲存 URI 的重寫模式。該檔案可以包含正則表示式,允許單個規則用於重寫大量 URI。
eXist 原生 XML 資料庫有一個 Atom 釋出協議 介面。您可以使用它為現有 XQuery 建立新的 URL 介面。
假設您使用 XQuery 來執行過去 N 天內在專案 P 中發生更改的所有術語的報告。使用 eXist XQuery,URL 可能是
http://example.com/exist/rest/db/apps/glossary/views/terms-changed.xq?days=N&project=P/
URL 重寫可能是
http://example.com/terms/new/days=N/project=P/
這使得 URL 成為更穩定的應用程式程式設計介面,並允許您將 XQuery 移動到 eXist 資料庫中的另一個位置,並更改引數名稱,而不會影響您的使用者、他們的書籤或透過 REST 介面訪問此資料的其他系統。
實現 URL 重寫的最流行方法是使用 Apache Web 伺服器作為 Web 應用程式的前端。這允許您將“動態”URL 轉換為看起來是“靜態”的 URL,在 URL 字串中沒有問號或符號,引數被傳遞就像它們是資料夾而不是鍵值對一樣。
以下是將新增到 Apache 配置檔案中的程式碼
Options +FollowSymLinks
RewriteEngine on
RewriteRule terms/new/days=(.*)/project=(.*)/ db/apps/glossary/views/terms-changed.xq?days=$1&project=$2
一個 XForms 應用程式,用於管理 Jetty 重寫 URL。
- 維基百科關於重寫引擎的文章
- Jetty 重寫處理程式
- 幫助您學習如何編寫 Apache 重寫規則的工具
- 精通正則表示式,Jeffrey E.F. Friedl,Nutshell 手冊系列,O'Reilly & Associates, Inc. 1997,ISBN 1-56592-257-3
- Drupal 如何使用 PATH 模組處理 URL 重寫的極佳示例