vhttpd URL Settings

These vhttpd.conf config file settings modify how the vhttpd web server responds to various URLs.

     

  • AllowExt .ext [.ext ...] Add the given extension(s) to the list of allowed file extensions. Only files with these extensions are accessible to users. If no AllowExt settings are given, the default list is:

    .au .bmp .css .doc .dvi .eps .gif .gz .htm .html .ief .jpe .jpeg .jpg .latex .mov .mpe .mpeg .mpg .pbm .pdf .pgm .png .pnm .ppm .ps .qt .ram .ras .rgb .rtf .snd .tex .texi .texinfo .tiff .txt .wbmp .wml .wmlc .wmls .wmlsc .xbm .xls .xml .xpm .xwd .Z .zip

    The default list is cleared by the first AllowExt setting. Later settings add to the previous settings. By default, Vortex scripts (no extension) and object files (.vtx extension) may not be downloaded by users, in version 2.6.928300000 19990602 and later, when AllowExt was added. A value of * (asterisk) will allow any extension. An empty string ("") will allow files with no extension, such as Vortex script source files.

  • AddAllowExt .ext [.ext ...] Same as AllowExt, but does not clear default list when used for the first time, i.e. always adds to existing list. Added in version 5.01.1205376000 20080312.

  • ExcludeExt .ext [.ext ...] Add the given extension(s) to the list of denied file extensions. The deny list is checked before the AllowExt allow list. The default deny list is empty (except in version 6 and 7, where it is no-extension, .vs and .vtx). Added in version 5.01.1205376000 20080312. In version 6.00.1276567000 20100614 and later, ExcludeExt none will clear the list.

  • AddExcludeExt .ext [.ext ...] Same as ExcludeExt. Added in version 5.01.1205376000 20080312.

  • IgnoreCaseExt boolean Whether to ignore case when checking file extensions. On by default in case-insensitive-file OSes (e.g. Windows). Added in version 5.01.1205376000 20080312.

  • AllowFileMask mask Only allow access to files in DocumentRoot with at least one of these permission bits set. Note that files must still be accessible by User. The default is o=r, i.e. files must have other-read permission set to be accessible. Added in version 5.01.1147373000 20060511.

  • AllowDirMask Only allow access to directories in DocumentRoot with at least one of these permission bits set. Note that directories must still be accessible by User. The default is o=r, i.e. directories must have other-read permission set to be accessible. Added in version 5.01.1147373000 20060511.

  • AllowLogFileOverride boolean   Whether to allow the error, transfer and/or Vortex log file settings to be overridden (changed) in Vortex, via <vxcp> (here). The default is true. Can be set false to debug complex <vxcp> log file redirection issues. Added in version 5.01.1170123063 20070129.

  • AcceptMethods method [method ...] List of HTTP methods to accept, e.g. beyond the implemented GET HEAD and POST methods, for Vortex scripts. GET HEAD and POST should be listed as well, if this setting is used. It is up to the Vortex script to implement other methods correctly. A single asterisk ("*") may be listed to accept any. Added in version 5.01.1208373137 20080416.

  • Options [+|-]option [[+|-]option ...] Set option flags. A "+" (plus) prefix turns on the option, a "-" (minus) turns off the option. Options can be:

    • All All options except for MultiViews. Added in version 5.01.1251269000 20090826.

    • Indexes Gemerate an automatic directory listing if no DirectoryIndex file exists for a directory.

    • IndexesRobotsIndex Allow robots to index automatic directory listings, via <meta name="robots"> tag.

    • IndexesRobotsFollow Allow robots to follow links from automatic directory listings, via <meta name="robots"> tag.

    • LabelArgs Label processes' args with remote IP address of client. This can help in determining which server sub-process is serving which client.

    • MultiViews Allow content-negotiated variant files to be served. With this option enabled, if a requested file is not found as named, files with the same name but additional recognized file extensions (for MIME types and/or encodings) will be searched for. The files will be ranked according to the client's Accept-... header preferences, and the highest-ranked file will be served. Applies to implicit DirectoryIndex files too. For example, a request for "/dir/file" might return "/dir/file.html", "/dir/file.txt.gz" etc. If variant(s) are found but are not deemed acceptable according to the client's Accept-... headers, a 406 Not Acceptable response may result. Disabled by default. Added in version 5.01.1251269000 20090826. Currently, only the Accept-Encoding client header is respected.

  • AddType mime/type ext [ext ...] Maps filename extension(s) ext to the MIME Content-Type mime/type for file downloads and VortexPath scripts. Overrides/adds to mapping list from TypesConfig file (here). Added in version 3.0.949000000 20000127.

  • DefaultType mime/type Sets default MIME Content-Type to use if undeterminable from file extension, for file downloads. Added in version 3.0.949000000 20000127.

  • AddEncoding mime/encoding ext [ext ...] Maps filename extension(s) ext to the MIME Content-Encoding mime/encoding for file downloads. Overrides/adds to mapping list from EncodingsConfig file (here). Added in version 3.0.949000000 20000127.

  • VortexPath urlpath [script]

    Add the full-path (starts with /) urlpath as a server-run Vortex URL. Any URL request in this tree will be treated as a Vortex script and run by the server as such. For example, if VortexPath /texis is set, then a request for the URL http://www.example.com/texis/mydir/search will run the Vortex script mydir/search in the ScriptRoot directory. (Each matching path component must match fully however; e.g. the URL http://www.example.com/texisation/mydir/search would not run a script, given the same VortexPath.)

    To replace an existing Apache web server's CGI-run Vortex with Texis Web Server-run Vortex, replace a config file entry such as this:

    ScriptAlias   /cgi-bin /usr2/pub/httpd/cgi-bin
    with an entry like this:
    VortexPath    /cgi-bin/texis

    The optional script argument (ServerRoot-relative) was added in version 2.6.930850000 19990701. If it is given, then the script is script plus the remainder of the URL request (after urlpath). For example, if VortexPath /texis/special /usr/local/specialscript/main.html/+ is set, then http://www.example.com/texis/special/extra will map to the script /usr/local/specialscript, function main, with $userpath of "/extra".

    VortexPath may be given multiple times to map different URL paths. Depending on the current license, the word texis may be required in the URL path, to identify the URL as Vortex. Note that giving a script argument can result in non-standard behavior of $url and other variables, since part of the script path is not in the URL.

  • VortexByExtPath urlpath Root URL path to allow Vortex scripts to be run by file extension. A request in this path with a "subdirectory" component that ends in one of the non-empty Vortex Source Extensions (texis.ini setting, here) or .vtx will be run as a Vortex script. Typically set to /; e.g. the request "/dir/subdir/script.vs/func.html" would then run the script dir/subdir/script.vs in the ScriptRoot dir. Added in version 5.01.1182804000 20070625. Note that Vortex Source Extensions typically only contains non-empty values (e.g. .vs) in Version 6.

  • EntryScript filepath   File path to Vortex script to run before every web transaction. This can be used to check security permissions, ward off rogue users, etc. ServerRoot-relative. The default is none. In version 2.6.929600000 19990617 and later, if this script returns a non-zero exit code via <exit>, the actual request URL is not served and the transaction is abandoned. See also the ENTRYFUNC directive (here) which is often more useful.

  • ExitScript filepath   File path to Vortex script to run after every web transaction. Generally used to log transactions to a database. ServerRoot-relative. The default is none. See also the EXITFUNC directive (here) which is often more useful.

  • ErrorScript filepath   File path to Vortex script to run if requested script cannot be started. ServerRoot-relative. This script can process errors for nonexistent scripts, compile problems, etc. Overrides texis.ini setting (see here). Added in version 4.00.1018000000 20020405.

  • UseErrorScriptForServerErrors boolean Whether to invoke ErrorScript for certain server errors, such as 404 Not Found; normally it is invoked only for Vortex errors. If enabled, the function statusNNN.html in ErrorScript is called, where NNN is the HTTP response code. The following variables are also set:

    • STATUS_CODE The HTTP response code, e.g. 404

    • STATUS_REASON The HTTP status line reason, e.g. Not Found

    • STATUS_MSG A verbose text error message

    The ErrorScript can use these variables to distinguish Vortex script errors (where the variables are not set) from web server errors (where they are set), as well as issue the proper HTTP response. See the default ErrorScript for example usage. Added in version 5.01.1206660000 20080327.

  • ErrorFile filepath   File path to plain HTML file to send if ErrorScript is to be invoked but cannot be started. ServerRoot-relative. This is a plain file "fallback" for ErrorScript failure. Overrides texis.ini setting (see here). Added in version 4.00.1018000000 20020405.

  • ProxyScript filepath File path to Vortex script to run for a proxy request. ServerRoot-relative. Default is none (do not proxy). Setting this script enables the web server as a proxy server. This script is then responsible for fetching and serving all such proxy requests (whether Vortex scripts or file requests). Such a script could compress images, strip ads, etc. for users' everyday web surfing, if users configure their browsers to use the server as a proxy server. Added in version 4.00.994800000 20010710.

  • ScriptAlias urlpath filepath Alias urlpath to CGI directory or program filepath. A web request in the urlpath URL tree will cause the CGI program filepath to be run, if it is an executable file. If filepath is a directory, the CGI program in it is named by the next component in the URL. The filepath is ServerRoot-relative, and ScriptAlias may be used multiple times. In version 2.6.930850000 19990701 and earlier, the filepath could only be a directory.

    For example, given ScriptAlias /cgi-bin cgidir and the directory cgidir in ServerRoot, a URL such as http://www.example.com/cgi-bin/prog will execute the CGI program cgidir/prog.


Copyright © Thunderstone Software     Last updated: Sep 25 2019
Copyright © 2019 Thunderstone Software LLC. All rights reserved.