Apache. Документация на русском


Директивы Apache
  1    2    3    4    5    6    7    8    9    10    11    12    13    14    15    16    17    18    19    20    21    22    23    24    25    26    27    28    29    30    31    32    33    34    35    36    37    38    39    40    41    42    43    44    45    46    47    48    49    50    51    52    53    54    55    56    57    58    59    60    61    62    63    64    65    66    67    68    69    70    71    72    73    74    75    76    77    78    79    80    81    82    83    84    85  
  86    87    88    89    90    91    92  
  93    94    95    96    97    98    99    100    101    102    103    104    105    106    107    108    109    110    111    112    113    114    115    116    117      118      119    120    121    122    123    124    125    126    127    128    129    130    131    132    133    134    135    136    137    138    139    140    141    142    143    144    145    146    147    148    149    150    151    152    153    154    155    156    157    158    159    160    161    162    163    164    165  
  166    167    168    169    170    171    172    173    174    175    176    177    178    179    180    181    182    183    184    185    186    187    188    189    190    191    192    193    194    195    196    197    198    199    200    201    202    203    204    205    206    207    208    209    210    211    212    213    214    215    216    217    218    219    220    221    222    223    224    225    226    227    228    229    230    231    232    233    234    235    236    237    238    239    240    241    242  

 <         > 
Список директив: Core  |  ModRewrite  |  Lua  |  Proxy  |  SSL

Директива LuaOutputFilter
RU          EN  
Description:Provide a Lua function for content output filtering
Syntax: LuaOutputFilter filter_name /path/to/lua/script.lua function_name
Context:server config
Status:Experimental
Module:mod_lua
Compatibility:2.4.5 and later

Provides a means of adding a Lua function as an output filter. As with input filters, output filters work as coroutines, first yielding before buffers are sent, then yielding whenever a bucket needs to be passed down the chain, and finally (optionally) yielding anything that needs to be appended to the input data. The global variable bucket holds the buckets as they are passed onto the Lua script:

LuaOutputFilter myOutputFilter "/www/filter.lua" output_filter
<Files "*.lua">
 SetOutputFilter myOutputFilter
</Files>
--[[
 Example output filter that escapes all HTML entities in the output
]]--
function output_filter(r)
 coroutine.yield("(Handled by myOutputFilter)<br/>\n") -- Prepend some data to the output,
 -- yield and wait for buckets.
 while bucket do -- For each bucket, do...
 local output = r:escape_html(bucket) -- Escape all output
 coroutine.yield(output) -- Send converted data down the chain
 end
 -- No more buckets available.
end

As with the input filter, the output filter supports denying/skipping a filter if it is deemed unwanted:

function output_filter(r)
 if not r.content_type:match("text/html") then
 return -- Simply deny filtering, passing on the original content instead
 end
 coroutine.yield() -- wait for buckets
 ... -- insert filter stuff here
end

Lua filters with mod_filter

When a Lua filter is used as the underlying provider via the FilterProvider directive, filtering will only work when the filter-name is identical to the provider-name.

See "Modifying contents with Lua filters" for more information.

RU          EN