Nginx實現對響應體內容的替換

nginx_web發表於2012-06-15

 

 

 

    該模組能夠搜尋和替換Nginx響應體中的文字內容,這個模組在預設安裝Nginx時是不會安裝的,因此,要想使用該模組,那麼需要在./configure時新增--with-http_sub_module option選項。

 

配置示例

 

location / {

  sub_filter     

  '';

  sub_filter_once on;

}

   

   

 

   該模組提供了3條指令。

 

指令名稱:sub_filter

    能:該指令用於在Nginx的響應中替代一些文字,即將原有的“text”替換為現有的“substitution”,而不依賴於源資料。內容匹配對大小寫不敏感。替代文字可以包含變數,每一個location中只能使用一種替換規則。

    : sub_filter text substitution

默 認 值: none

使用環境: http, server, location

 

指令名稱:sub_filter_once

    能:如果將該指令設定為off,那麼將會允許搜尋和替換所有匹配的行,預設情況下僅替換第一個被匹配的行。

    : sub_filter_once on|off

默 認 值: sub_filter_once on

使用環境: http, server, location

 

指令名稱:sub_filter_types

    能:該指令用於指定sub_filter指令應該檢測的內容型別。預設只有text/html

    : sub_filter_types mime-type [mime-type ...]

默 認 值: sub_filter_types text/html

使用環境: http, server, location

 

使用例項

 

    Nginx的配置檔案中新增以下配置內容:

 

http {

  include       mime.types;

  default_type  application/octet-stream;

 

  sendfile        on;

 

  keepalive_timeout  65;

 

sub_filter  ''  'html {filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); }';

sub_filter_once on;

 

server {

  listen       80;

  server_name  localhost;

 

location / {

    root   html;

    index  index.html index.htm;

  }

}

    ……

}

 

   

    這是某年用的最多的一個例子,它將所有的頁面在IE瀏覽器下訪問下變為灰色。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27043155/viewspace-732985/,如需轉載,請註明出處,否則將追究法律責任。

相關文章