ssi.txt
上传用户:lampled
上传日期:2007-01-07
资源大小:94k
文件大小:7k
源码类别:

Web服务器

开发平台:

Unix_Linux

  1.                                 XS-HTTPD SSI's
  2.                                        
  3.    One of the most advanced features of this WWW server is its server
  4.    side includes. Server side includes (SSI's) are "commands" to the
  5.    server to do something. These may be embedded in HTML documents.
  6.    
  7.    The format of such a directive is as follows:
  8.    <!--#name [argument(s)]-->
  9.    
  10.    name is the name of the directive. You may specify arguments to the
  11.    directive if needed or wanted, seperated from the directive's name by
  12.    one space. Note also that a directive must start and end on the same
  13.    line. You may have other things on that line, including other
  14.    directives.
  15.    
  16.    When the server sends a HTML document to the remote client, it will
  17.    parse all of the directives that are embedded in that document. The
  18.    possible directives are:
  19.    
  20.    count-total
  21.           This directive inserts the number of times that this page has
  22.           ever been retrieved. You may use counters as many times as you
  23.           wish per page, they will only increment once.
  24.           
  25.    count-month
  26.           This directive inserts the number of times that this page has
  27.           been retrieved this month.
  28.           
  29.    count-today
  30.           This directive inserts the number of times that this page has
  31.           been retrieved today.
  32.           
  33.    count-total-gfx [location]
  34.           This directive inserts a HTML tag to include a graphical
  35.           representation of the number of times that this page has ever
  36.           been retrieved. If location is specified, it will be used as a
  37.           base location for the font. A font has 10 digits in it, each in
  38.           a seperate file, all PPM's. Say location is /~user/font1, and
  39.           digit 1 is needed, then /~user/font1/1.ppm will be used as that
  40.           digit.
  41.           
  42.           Two default fonts are supplied with the deamon. These may be
  43.           accessed with locations: /fonts/digital and /fonts/large.
  44.           
  45.    count-month-gfx [location]
  46.           This directive inserts a HTML tag to include a graphical
  47.           representation of the number of times that this page has been
  48.           retrieved this month. See above for location.
  49.           
  50.    count-today-gfx [location]
  51.           This directive inserts a HTML tag to include a graphical
  52.           representation of the number of times that this page has been
  53.           retrieved today. See above for location.
  54.           
  55.    date
  56.           This directive inserts the current date and time, optionally in
  57.           your own format. You can specify your own date and time format
  58.           using the date-format directive (see below).
  59.           
  60.    date-format format
  61.           This directive uses format as the new date and time format. You
  62.           must specify the format in strftime(3) format. Type man
  63.           strftime for help on how to use this format.
  64.           
  65.    include-file file
  66.           This directive allows you to include another file in this
  67.           document. Very useful for standard headers and footers. Note
  68.           that included files may be nested and that directives are
  69.           parsed in them. Note also that counters and such always count
  70.           the original file, so you can use the count-* directives in
  71.           your standard headers and footers.
  72.           
  73.    last-mod [file]
  74.           This directive (with a pseudonym last-modified inserts the last
  75.           modification date of either the originally request file (the
  76.           current document) or the optionally specified file. The date
  77.           will be in the format specified by the date-format directive.
  78.           
  79.    remote-host
  80.           Inserts the name (or the IP number if the name cannot be
  81.           resolved) of the remote computer that is asking for this
  82.           document.
  83.           
  84.    run-cgi cgi
  85.           Runs the CGI binary cgi and inserts its output at this point.
  86.           Standard PATH_INFO and PATH_TRANSLATED parsing is done, so you
  87.           can give argumens to the CGI binary. All standard CGI
  88.           environment variables will be set up appriopriately. See the
  89.           CGI section for more details on CGI's.
  90.           
  91.    agent-short
  92.           This directive inserts the name of the browser that the remote
  93.           user is using in the short version (i.e. without the version
  94.           number). Note that Netscape is displayed as Mozilla, which is
  95.           Netscape's real name.
  96.           
  97.    agent-long
  98.           This directive inserts the name of the browser that the remote
  99.           user is using in the long version (i.e. with version numbers
  100.           and other comments that the browser sends).
  101.           
  102.    if keyword pattern(s)
  103.           The following four directive are the most powerful: they allow
  104.           a kind of flow control in your documents. This directive
  105.           displays all text and directives after it until it encounters
  106.           an endif or a else directive, if the query evaluates to true.
  107.           
  108.           Possible keywords are:
  109.           
  110.         browser
  111.                 If any of the patterns match the browser name that the
  112.                 remote user if using, the query evaluates to true,
  113.                 otherwise it evaluates to false. See below on how to
  114.                 specify patterns.
  115.                 
  116.         remote-host
  117.                 If any of the patterns match the remote host's name or IP
  118.                 number, the query evaluates to true, otherwise it
  119.                 evaluates to false.
  120.                 
  121.         remote-name
  122.                 If any of the patterns match the remote host's name, the
  123.                 query evaluates to true, otherwise it evaluates to false.
  124.                 
  125.         remote-addr
  126.                 If any of the patterns match the remote host's IP number,
  127.                 the query evaluates to true, otherwise it evaluates to
  128.                 false.
  129.                 
  130.         argument
  131.                 It is possible (since version 2.1) to pass arguments to
  132.                 HTML documents. If any of the patterns match the given
  133.                 argument, the query evaluates to true, otherwise it
  134.                 evaluates to false.
  135.                 
  136.                 Arguments are passed by appending a question mark to the
  137.                 page's URL and giving the arguments after that. For
  138.                 example:
  139.                 http://www.foo.bar/~test/blah.html?this_is_an_argument
  140.                 
  141.           Patterns are simple wildcard patterns (case-insensitive). For
  142.           example, to match any version of Netscape (which is really
  143.           called Mozilla), you would use mozilla/*. If you want to match
  144.           any Mosaic version 2, you would use *Mosaic*/2*.
  145.           
  146.           A browser's name is always constructed in the following way:
  147.           browsername/version extra/version
  148.           
  149.    if-not keyword pattern(s)
  150.           This does exactly the same as if, except that it displays the
  151.           following text only if the query evaluates to false instead of
  152.           true.
  153.           
  154.    else
  155.           This can be used after an if or if-not directive. The meaning
  156.           is obvious.
  157.           
  158.    endif
  159.           Ends an if or not-if. Note that these constructions may be
  160.           nested!