FilterEnable = 1 Filter = */* null -- you don't want to use this one! Filter = */* unchunk Filter = text/html pipe /usr/bin/tidy -q -latin1 Filter = text/xhtml pipe /usr/bin/tidy -xml -q Filter = text/html wap Filter = image/* wbmp 100x60 #Filter = */* gzip -- this is added automagically by mod_gzipNote: every filter is assigned to a mime-type, and it will only be executed if the current content matches this. This way you could bind »tidy« to html files and for example »watermark« to image files.
Filter = .html null Filter = .exe pipe /usr/local/f-prot/f-prot -ai - Filter = .txt|.pdf null Filter = pdf|image/* null
|unchunk||core|| Content from CGIs is often chunked, that means it is is splitted
into many parts and thus cannot be passed to filters (like 'pipe')
which require to work on the whole file. So you always should enable
the unchunk filter which tries to resemble all chunks up to a given
size (128K without argument). For example
|pipe||core|| The pipe filter is the most powerful of all the filters, as it is
used to pass the current content through an external filter program,
that is given as argument to this filter (you need to specify the
full path name here, as it is prior checked for existence).
Filter programs are very common utilities in a UNIX-like environment, but you probably want to use html-aware or xml-capable filters only.
BTW, the »pipe« filter is the one, the pfilters infrastructure was implemented for.
|null||core|| does absolutely nothing
(you could use /bin/cat to do equally nothing)
|static||core||The server core now converts statically generated content into an internal parser object itself, so you really don't need to take care about this one!|
|mod_gzip||Currently delivered content will be compressed on the fly, if you load mod_gzip into the server. This filter is activated automagically for all files, but you can however assign it in a Filter= directive like all the others (you however should take care, that it is the last one).|
|shrink||html_filters|| This filter tries to remove all newlines from your html page, so
it'll get to just one line. Beside the smaller size (also helps gzip)
your page gets unreadable without appropriate tools and this makes
it a small weapon against code sniffing.
Warning: this conversion does not harm your CSS areas (per specification of the w3c), but ElsewhatScript gets unusable if it contains comments; additonally this filter refuses to work if the file contains <PRE> tags.
|downcase||html_filters||Converts all tags and their attributes (where missing quotation marks are added also) to lowercase which additonally helps compressing the file. This filter is rather slow.|
|html_filters|| tries to convert your html to wml code; but this rule is of course
only applied if the client actually requests wml.
The HTML should be valid, else the WML won't be too, so it is highly recommended to use a more sophistcated external conversion utility instead of this very slow internal one.
# best way to use the »wap« filter: Filter = text/html pipe /usr/bin/tidy -q Filter = text/html wap Filter = application/vnd.wap.wml pipe /usr/bin/tidy -xml -q
|html_filters||this filter corrupts all your html files.|
|convert||img_filters||There exists a demo filter package for images; and the convert filter enables you to change the image type from png to jpeg and vice versa by specifying the target format after the filter name. Some other file formats may be supported (for input at last), but note that .gifs are rather rarely allowed and thus cannot be used with the img_filters module.|
|copyright||img_filters|| You can use this filter to add a text snippet to served images;
just add some text after the filter name, e.g.:
Filter = image/jpeg copyright (c) 2002 whoever
|wbmp||img_filters||The wbmp format is to be used for cellular phones` browsers, you probably want to enable this filter for images where you enabled the »wap« filter for hypertext files.|
|error||misc_filters||this filter enables you to prevent certain files from being delivered, it doesn't output a real http error response but you may give an response code as argument to this filter|
|addservervar||misc_filters||you can setup server/environment variables with this filter for some selected files / mime types (for CGI scripts for example)|
|addheader||misc_filters||Allows you to output an additonal arbitrary HTTP response header together with selected files, or files of a specified mime type.|
|nocache||misc_filters||This filter applied to any file prevents it from getting cached by proxies, it does so by just adding the according HTTP response headers.|
|handler||misc_filters|| This filter corresponds to the apache »AddHandler« directive and
allows you to get specified files processed by the CGI script
given as argument to this filter.
Filter = .myhtm|.txt /cgi-bin/needs-frame.phpIn this example files with the extension .myhtm or .txt would invoke the given php script with PATH_INFO set with the filename of the originally requested .myhtm or .txt file. So this script (handler) must take care to produce some output out of the file (build some html table around loaded plain text file, or such things).