vhttpd URL Settings

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

AllowExt .ext [.ext ...]
Default: * in version 6 and later; in version 5 and earlier: .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

Add the given extension(s) to the list of allowed file extensions. Only files with these extensions are accessible to users. The first AllowExt setting sets the list; later settings append to previous setting(s). By default, Vortex scripts (no extension) and object files (.vsc 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 ...]
Default: unset
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 ...]
Default: none in version 8 and later; "" .vs .vtx in version 6 and 7
Add the given extension(s) to the list of denied file extensions. The deny list is checked before the AllowExt allow list. Added in version 5.01.1205376000 20080312. In version 6.00.1276567000 20100614 and later, ExcludeExt none will clear the list.

AddExcludeExt .ext [.ext ...]
Default: unset
Same as ExcludeExt. Added in version 5.01.1205376000 20080312.

IgnoreCaseExt boolean
Default: off under Unix
Whether to ignore case when checking file extensions. Added in version 5.01.1205376000 20080312.

AllowFileMask mask
Default: o=r
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. See AllowDirMask for directories. Added in version 5.01.1147373000 20060511.

AllowDirMask
Default: o=r
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. Added in version 5.01.1147373000 20060511.

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

AcceptMethods method [method ...]
Default: GET HEAD POST
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 ...
] Default: +Indexes +IndexesRobotsFollow +LabelArgs
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.

DirectoryIndex file [file ...]
Default: index.html index.htm
Local files to look for when a directory URL is requested; the first one found is sent. If none found, automatic directory listing is generated, unless Options -Indexes is set.

AddType mime/type ext [ext ...]
Default: unset
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
Default: text/plain
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 ...]
Default: unset
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]
Default: unset
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
Default: unset
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 .vsc 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
Default: unset
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. 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
Default: unset
File path to Vortex script to run after every web transaction. Generally used to log transactions to a database. ServerRoot-relative. See also the EXITFUNC directive (here) which is often more useful.

ErrorScript filepath
Default: [Texis] ErrorScript value from conf/texis.ini
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). It is generally preferable to set this in texis.ini rather than vhttpd.conf so that it will take effect for CGI Vortex scripts as well. However, it can be set in vhttpd.conf if a different value is desired for different servers. Added in version 4.00.1018000000 20020405.

UseErrorScriptForServerErrors boolean
Default: no
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 status$NNN$.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
Default: [Texis] ErrorFile value from conf/texis.ini
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). It is generally preferable to set this in texis.ini rather than vhttpd.conf so that it will take effect for CGI Vortex scripts as well. However, it can be set in vhttpd.conf if a different value is desired for different servers. Added in version 4.00.1018000000 20020405.

ProxyScript filepath
Default: unset
File path to Vortex script to run for a proxy request. ServerRoot-relative. Setting this script enables the web server to be a proxy server. This script is then responsible for fetching and serving all such proxy requests (whether Vortex scripts or file requests). Added in version 4.00.994800000 20010710.

ScriptAlias urlpath filepath
Default: unset
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: Jul 17 2021
Copyright © 2021 Thunderstone Software LLC. All rights reserved.