網站規則及全域網路設定

「網站」規則是協助您維護網站組織的文件。其建立是作為「網站」文件的回應文件,並只套用至該特定的「網站」文件。如果您想要將規則套用於多個「網站」文件,請將規則文件從某一「網站」文件複製並貼到另一個「網站」文件。

網站規則有兩個主要用途:

  • 可以讓管理員為網站建立一致且使用者友善的導覽綱目,這與網站的實際實體組織無關。
  • 容許重新定位或重組網站各部分,而不用中斷現存的鏈結或瀏覽器書籤。

必須先依據預先定義的過濾及驗證規則與程序集,將 URL 正常化,然後「網站」規則才能套用於進入的 URL。這些程序會將 URL 還原成安全表單,然後才會傳送到應用程式以進行處理。一旦 URL 已正常化,HTTP 作業會使用網站定義的規則來決定是否要以任何方式修改 URL。

註: 在型樣比對中只使用 URL 路徑。儲存查詢字串以供應用程式使用。您在規則的「進入的 URL 型樣」欄位中所指定的任何型樣,不應含有主機名稱或查詢字串。

共有四種類型的「網站」規則。如果已在「網站」文件中建立多種類型的「網站」規則,則會依照下列次序評估規則文件:

  • 替換
  • 重新導向
  • 目錄
  • HTTP 回應標頭

替換規則

替換規則會以新字串取代進入 URL 的一個以上部分。當您想要重組網站,但不想重寫網站中的所有鏈結時,或當您想要提供複雜 URL 的使用者友善別名時,應該使用替換規則。

例如,如果您在網站上,將許多檔案從某一目錄移至另一目錄,則替換規則是很有用的。不需要修正參照舊目錄的所有鏈結,替換規則會將舊目錄對應到新目錄。

替換規則中的進入型樣與取代型樣必須個別指定至少一個萬用字元。如果在型樣中未明確併入萬用字元,則 HTTP 作業會在內部表格中儲存規則時,將 /* 自動附加到型樣中。

重新導向規則

重新導向規則會將進入的 URL 重新導向至其他 URL。有兩個類型的重新導向規則:外部重新導向和內部重新導向規則。外部重新導向規則會讓伺服器告知瀏覽器,表示瀏覽器所要求的檔案或其他資源是位在另一個 URL。如果進入的 URL 路徑符合外部重新導向規則,則 HTTP 作業會依據重新導向型樣產生新的 URL,並立即將該 URL 傳回瀏覽器。使用外部重新導向規則可以讓現存的鏈結與書籤繼續運作,但請確定新書籤是導向新位置。

內部重新導向規則的作用類似替換規則,HTTP 作業會產生新的 URL 並重新正常化該 URL。但有兩點不同。第一,重新導向表格的搜尋是一種遞迴方式,所以您可以建立並巢狀化多個重新導向規則。第二,內部重新導向規則不需要使用萬用字元。因此,如果您想要在 URL 路徑中強制執行完全符合,請選擇使用內部重新導向規則而非替換規則。

如果進入的 URL 路徑符合內部重新導向規則,則 HTTP 作業會產生新路徑、正常化路徑並重新搜尋重新導向規則表。因為 HTTP 作業會在重新導向規則表中執行遞迴搜尋,所以不論是否已套用替換或重新導向,您都可以撰寫大量重新導向規則以擷取 URL。

註: 具有遞迴搜尋表示如果您撰寫彼此相符的重新導向規則,則有可能會進入無限迴圈。若要消除此可能性,HTTP 作業將內建遞迴限制為 10。

在重新導向規則中容許使用萬用字元,但不是必要的。

目錄規則

目錄規則會將檔案系統目錄對應到 URL 型樣。當網路伺服器接受符合型樣的 URL 時,伺服器會假設 URL 正在要求該目錄中的資源。

安裝 Domino®網路伺服器時,即會自動建立數個檔案資源目錄。這些預設目錄會依照目錄規則加以對應,目錄規則定義於「網站」文件的「配置」標籤中。當網路伺服器啟動時,它會自動建立內部規則以將這些目錄對應到 URL 型樣。三種預設目錄為:

  • 非圖形檔的 HTML 名錄
  • 圖形影像 (如 .GIF) 的圖示目錄
  • CGI 程式的 CGI 名錄

目錄規則只能用來對應要直接讀取的檔案位置(如 HTML 檔與圖形檔)及由作業系統載入與執行的可執行程式(如 CGI 程式)。目錄規則無法用來對應其他類型資源的位置,如 Domino® 資料庫或 Java Servlet。

當您建立「目錄網站」規則時,請指定檔案系統目錄的讀取或執行存取權。選擇正確的存取權是非常重要的。只有在含有 CGI 程式的目錄中才能啟動「執行」存取權。所有其他目錄應具有「讀取」存取權。如果您指定了錯誤的存取權層次,則會發生未預期的結果。例如,如果您為「讀取」存取權標示 CGI 名錄,則在瀏覽器使用者傳送 CGI 程式的 URL 時,伺服器會傳回程式的原始碼而不是執行它,這是一個嚴重的安全漏洞。

目錄規則不能覆寫作業系統強制執行的檔案存取權。

註: 指定目錄下的所有子目錄均會繼承該存取權層次。

HTTP 回應標頭規則

每一個 HTTP 瀏覽器要求及伺服器回應都會以一組說明傳輸資料的標頭開始。HTTP 回應標頭規則可讓應用程式設計者自訂 Domino® 傳送的標頭(如 Expires 標頭或 HTTP 回應的自訂標頭),以回應符合所指定 URL 型樣的要求。

使用回應規則最重要的是可以增進瀏覽器快取的效能。應用程式設計者可以新增標頭,提供瀏覽器有關要快取的資料變化性之重要資訊。

快取標頭包括「前次修改」標頭、「到期」標頭與「快取控制」標頭。「前次修改」標頭會指出用來產生回應的一個以上資源的前次變更時間。「到期」標頭會告知瀏覽器資源預期變更的時間。設計者可以定義到新增到「到期」標頭中的規則,以依據設計者預期資源變更的時間來回應。「快取控制」標頭對瀏覽器與 proxy 伺服器快取提供明確的指示,例如,在不應快取的回應中提供「不快取」,或在可快取、但為特定瀏覽器配置專用的回應中提供「專用」。

您也可以使用回應規則來自訂標頭。例如,您可以在顯示特定錯誤訊息的自訂標頭中建立回應規則:例如,當使用者未被授權存取應用程式時。

與其他的網站規則不同,回應規則會在 HTTP 作業傳輸回應給瀏覽器之前,套用於外送的回應。針對回應標頭規則,在套用了替換與重新導向規則後,型樣會符合最後的 URL 表單。例如,如果您有將 /help/* 轉換為 /support.nsf/helpview/* 的替代規則,並且想要建立回應規則以符合回應,則回應規則的型樣應為 /support.nsf/helpview/*

型樣可以含有一個以上的星號作為萬用字元。例如,型樣 /*/catalog/*.htm 將符合 URL /petstore/catalog/food.htm/clothing/catalog/thumbnails.htm,依此類推。在回應規則中不需要萬用字元。這可讓您建立符合特定資源的規則,例如:/cgi-bin/account.pl。同時,在使用所有規則時,進入的型樣不能含有查詢字串。

回應標頭規則與其他規則不同,它們不僅必須符合 URL 型樣,還必須符合 HTTP 回應狀態碼。您必須在 HTTP 回應碼欄位中指定一個以上的狀態碼。

全域網路設定

「全域網路設定」可讓您將網路規則套用於多個網站。請定義「全域網路設定」文件的名稱,並指定套用「全域網路設定」的伺服器。然後,您可以建立「全域網路設定」文件的「網路規則」文件。然後,網路規則即會套用到由「全域網路設定」文件中指定的伺服器所主控的所有網站。

「全域網路設定」文件及相關的「網站」規則文件並不會自動建立。如果您要在網路環境中使用「全域網路設定」文件及「網站」規則,則必須手動建立它們。