<-
Apache > HTTP 伺服器 > 文件 > 版本 2.4 > 模組

Apache 模組 mod_sed

可用語言: en  |  fr 

說明使用 sed 語法過濾輸入(請求)和輸出(響應)內容
狀態實驗性
模組識別碼sed_module
原始碼檔案mod_sed.c sed0.c sed1.c regexp.c regexp.h sed.h
相容性在 Apache 2.3 及更高版本中可用

摘要

mod_sed 是一個進程內內容過濾器。mod_sed 過濾器實現了 Solaris 10 sed 程式中實現的 sed 編輯命令,如 手冊頁 中所述。但是,與 sed 不同,mod_sed 不從標準輸入獲取數據。相反,過濾器作用於客戶端和伺服器之間發送的實體數據。mod_sed 可以用作輸入或輸出過濾器。mod_sed 是一個內容過濾器,這意味著它不能用於修改客戶端或伺服器 http 標頭。

mod_sed 輸出過濾器接受一個數據塊,對數據執行 sed 腳本,並生成傳遞到鏈中下一個過濾器的輸出。

mod_sed 輸入過濾器從鏈中的下一個過濾器讀取數據,執行 sed 腳本,并将生成的數據返回給過濾器鏈中的調用者過濾器。

如果在內容中看到換行符,則輸入和輸出過濾器都只處理數據。在數據的末尾,其餘數據被視為最後一行。在 2.4.54 及更高版本中,長度超過 8MB 的行会导致錯誤。

Support Apache!

主題

指令

錯誤修復清單

另請參閱

top

範例配置

新增輸出過濾器

# In the following example, the sed filter will change the string
# "monday" to "MON" and the string "sunday" to SUN in html documents
# before sending to the client.
<Directory "/var/www/docs/sed"> 
    AddOutputFilter Sed html 
    OutputSed "s/monday/MON/g" 
    OutputSed "s/sunday/SUN/g" 
</Directory>

新增輸入過濾器

# In the following example, the sed filter will change the string
# "monday" to "MON" and the string "sunday" to SUN in the POST data
# sent to PHP.
<Directory "/var/www/docs/sed"> 
    AddInputFilter Sed php 
    InputSed "s/monday/MON/g" 
    InputSed "s/sunday/SUN/g" 
</Directory>
top

Sed 命令

有關 sed 命令的完整詳細信息,請參閱 sed 手冊頁

b
分支到指定的標籤(類似於 goto)。
h
將當前行複製到保持緩衝區。
H
將當前行附加到保持緩衝區。
g
將保持緩衝區複製到當前行。
G
將保持緩衝區附加到當前行。
x
交換保持緩衝區和當前行的內容。
top

InputSed 指令

說明用於過濾請求數據(通常是 POST 數據)的 Sed 命令
語法InputSed sed-command
上下文目錄,.htaccess
狀態實驗性
模組mod_sed

InputSed 指令指定要對請求數據(例如 POST 數據)執行的 sed 命令。

top

OutputSed 指令

說明用於過濾響應內容的 Sed 命令
語法OutputSed sed-command
上下文目錄,.htaccess
狀態實驗性
模組mod_sed

OutputSed 指令指定要對響應執行的 sed 命令。

可用語言: en  |  fr 

top

評論

注意事項
這不是問答區。此處放置的評論應指向改進文檔或伺服器的建議,如果它們已被實施或被認為無效/離題,則可能會被我們的版主刪除。有關如何管理 Apache HTTP 伺服器的問題應指向我們在 Libera.chat 上的 IRC 頻道 #httpd,或發送到我們的 郵件列表