Right now, check to see that you are reading this document through your WebSite server and not as a file. Look at the URL displayed in the box above this area. If it doesn't start with http://, then you are not using the server. If needed, start your web server now, and click here to switch to server-based reading.Version 1.1f (12-Jun-96)
For additional information on these features, check out WebSite Central, which has updates, Q/A, add-ons, betas, and more. If you are having difficulties, please consult the Troubleshooting Tips. You should also join the Website Talk discussion list. Instructions for joining are on WebSite Central.
Here's a checklist you can use to verify your setup:
CommandEnvSize=8192line to the
[NonWindowsApp]section of SYSTEM.INI and rebooted. This is required only for the DOS CGI examples.
Here is a plain text document
Here is a hypertext document
Here is a GIF image (the server author)
Here is an audio clip
You can also use an image as a hot-spot.
For this demo, I have created a small directory tree with some useless documents in it. Have a look and you'll get the idea. Clicking on the Parent Directory entry at the top of the demo tree will take you back to this demo document. Can you figure out how that happens?
?plainappended to the directory URL. If a directory listing does not have a header, WebSite puts a link for changing listing format at the top.
Here is the above sample
directory tree in fixed-pitch format. Note that, once the server sees you
?plain argument, it will construct parent- and
sub-directory links with this argument appended, preserving the
If you feel that most of your users do not have a browser that handles the new HTML-3 tables, you can tell the server to default to using fixed-pitch for its directory listings. Turn off the Use HTML3 Tables switch on the Indexing tab of the server's property sheet (Server Admin). WebSite ships with this switch enabled.
Here is a directory that has been protected against browsing with access control.
Here is an inline GIF image. Click in it and see what happens. If you get an error message, your server is not running, or you are reading this as a file. Try this link to see if your local server is running.
In contrast to most other Web servers, WebSite does not require running an external program to handle image map requests. The support is built into the server. This makes the server very efficient at handling image mapping.
<A HREF="32demo.map"> <IMG SRC="images/imapdemo.gif" ISMAP WIDTH=300 HEIGHT=100> </A>The
32demo.mapis the name of the map file. When WebSite sees a file name ending in
.mapit assumes that the file contains NCSA-format image mapping data. This activates WebSite's server's special built-in image mapper. WebSite reads the map file and uses the data in it to decide what to do. You can open the map with the WebSite MapThis imagemap editor and see the regions as they were defined, along with their target URLs (right click on a region). You may have to locate the background image yourself (one time only) after installing WebSite. Here is the image mapping data for the example above:
default /wsdocs/32demo/noshape.html ellipse /wsdocs/32demo/circle.html 8,9 90,89 poly /wsdocs/32demo/poly.html 250,10 212,90 290,90 250,10 rect /wsdocs/32demo/rect.html 130,10 171,91
WebSite 1.1 uses standard NCSA-format image map files.
You can put your map files in the same directory as the
documents that use them.
example uses an image map file
example uses an image map file
Note that the NCSA image map format supports the
element, in which a click outside of any geometric region resolved to the
nearest point. The presence of one or more point elements bypasses any
background (default) element. The ellipse region is unique to WebSite.
Most other imagemappers support only circles.
The HTML used in this sample is:
<A HREF="/wsdocs/32demo/self-test.map"> <IMG SRC="images/file-imap.gif" ISMAP> </a>and the contents of
ellipse /wsdocs/32demo/ellipse.html 50,12 170,54 point /wsdocs/32demo/ptleft.html 24,34 point /wsdocs/32demo/ptright.html 194,34
ISMAPelement within an image tag, then enclose it with a link to the image mapper. The above examples use this method.
Another way to make an image map uses an obscure but useful feature of
HTML forms. Create an input field of type
a form whose execution target is the image mapper. Forms can use
POST method, but
file-based image maps require using GET. An example,
along with the actual HTML used, appears below.
<FORM METHOD="GET" ACTION="32demo2.map"> <INPUT TYPE=IMAGE SRC="/wsdocs/32demo/images/imapdemo.gif"> </FORM>
NOTE: WebSite and MapThis! also support client-side image maps in which the coordinates and URLs are stored in an HTML file and processed by the browser. Not all browsers support client-side image maps. See Chapter 7 of Building Your Own WebSite.
NOTE: WebSite's unique built-in SSI support for page counters eliminates the need for CGI-based page counter packages completely.
This document demonstrates and tests WebSite's SSI facilities. See the WebSite book for details on the features and syntax for using SSI. If you downloaded this for evaluation, you may be able to figure out some of the SSI tags by looking at the test page ssi.html-ssi. As shipped, SSI operates only on documents with the extension .html-ssi.
index.htmlor with a trailing slash. Click the link below. If this document is successfully redisplayed, the feature is working. If you get an error, your hostname is not configured correctly. Use the WebSite Server Setup applet to correct your hostname and then try this test again. Try it now:
http://localhost/wsdocs/32demo <-- missing trailing slashNow look at the displayed current URL. It should have a trailing slash on it, and it also has the port number after the host name if your server is running on a port other than 80 (the HTTP default).
Java Samples: (hit the back button on your browser to return here)
pizza32.exeis a Visual Basic 4.0 (32-bit) application, compiled into an executable. The same program generates the form as well as processing its results. Note that the form has the current time on it.
NOTE: This example is an excellent reference
implementation for forms applications. If you are interested in
developing forms-based applications, please take the time to read the
VB code in
The "search on" field supports multiple selections (may not be supported by your browser). Try it and see how the server handles decoding it. Netscape lets you select multiple items with the shift and control keys, per standard Windows conventions.
Here are links to the Windows NT and Windows 95 versions. They differ because of differences in the capabilities and syntax of the NT and '95 DOS command processors. These demos use the server's DOS CGI support.
Study this thoroughly if you plan to use VB and Access for database work. The sample is covered in detail in the WebSite book.
WARNING: BE CERTAIN TO READ AND UNDERSTAND THE CAUTIONS IN THE UPLOADER.BAS MODULE BEFORE MODIFYING THE UPLOADER OR CHANGING THE ACCESS CONTROL ON THE /UPLOADS/ URL.
The sample is a test program that produces various reports as to the CGI environment it gets from the server. The reports are in HTML format. The sources to this test program (and all of the other samples) are in the /cgi-src directory, plus a "usage" page in the server document root. The usage page is returned if no test selector is specified (as "extra path" info).
The URL to get the usage page is:
/cgi-win/cgitest32.exeTry it now. Don't worry if you don't understand everything you see. Just understand that when you use this link, you are executing a compiled Visual Basic program. For more information, see the Windows CGI documentation.
perllanguage. Windows NT has a POSIX subsystem that can be used from the server to execute Unix applications as CGI programs. The Windows NT Resource Kit contains a basic set of Unix command utilities, including a Korn Shell clone.
perlavailable via FTP from the author, Clark Williams, or here at WebSite Central. In addition, I have done an upgrade to this
perlthat allows it to do bactic execution on Windows 95, supports filehandle access to sockets, and Win32 "mutex" support for interprocess synchronization. You can get this upgraded
perlat WebSite Central. Note that you must already have the NT
perlkit to use my upgrade.
perl 5. A later version of this works on Windows 95 as well. If you are interested in the most up-to-date information on this new package, and to get the latest version, check out Perl 5 for Win32 home page (they use WebSite!).
SH.EXEKorn Shell from the resource kit, and
.plwith the NT
perlinterpreter. You must use fully qualified pathnames for these associations. Do not rely on the "path".
sh.exefrom the NT Resource Kit)
Here is a simple Korn shell script that sends back the names and values of some CGI environment variables. Note that the pathnames in system-generated and server-generated variables are in POSIX format. The server automatically determines whether the shell is a Win32 or POSIX type and makes the appropriate conversion on all physical pathnames it sends to the CGI program.
perlinterpreter, and the extension
.plto be "associated" with your perl interpreter.)
Here is a
which (of course) sends back
the names and values of some CGI environment variables. Note that
the pathnames are in the native Win32 syntax. The server knows that
perl interpreter is a native Win32 app, not a POSIX
The DOS command processors for Windows NT and Windows 95 are
quite different in their capabilities, therefore we need different
batch files for each.
By convention we use
.CMD for Windows NT batch files, and
.BAT for Windows 95. Here is a simple example that uses a
DOS batch file to send back the name and version of your browser.
There is a version for Windows NT
and one for Windows 95.
This batch file (NT version) (Win95 version) generates a report of some info it got from the server. This info is passed via environment variables, according to the Common Gateway Interface 1.2 (CGI/1.2).
Browsers remember the username and password you enter. If you type in the correct username and password, you will be permitted to access the document, and you won't be able to try an incorrect combination until you exit and restart your browser. I suggest you start with the wrong username and/or password. Then when you try again, you'll get a "access failure" alert. Choose the try again button and you can type in another (correct) username and password.
Passwords are case-sensitive, usernames are not.
This document can be accessed only by user Dougherty with password balloon. This document can be accessed either by user Weber with password Jay, or by user Denny with password Bob.
The server also permits access by groups of users, and
the Web Server Setup utility permits easy manipulation of group
membership.All users are automatically included in the group "Users".
Therefore, you can allow access to any valid user by allowing access
by the group "Users".This
document can be accessed by any user.
Hostname and IP Address Filtering
You can also control access by host name or IP addresses. For
document can be accessed only by hosts within the IP address
range 198.211.*.*, and
this one can be accessed by any hosts except those in the IP
address range 198.211.*.*. Although it is possible to filter by host
name, we don't recommend it because it requires that the server do a
DNS reverse lookup (to convert the IP address to the host name) on
every request. This will noticably degrade the response time of the
server on all requests.
/~stats. Try it now. If you are connected to the net, you can see the WebSite Central server's statistics.
~statsso far. As you may have guessed, there are others. The two just mentioned are "safe", i.e., they don't "do" anything except retrieve data.
The server supports a few additional special URLs that can be used to
perform some administrative tasks. These functions "do" something,
therefore in keeping with the HTTP protocol, they must be issued with
POST method. Forms can issue
they can have buttons, so you can make up an administration form that
contains the special function buttons you want.
As shipped, the server is set up to protect these special URLs as well,
since they can affect the operation of the server. In order to
successfully use these functions, you must first authenticate yourself
as a member of the
Administrators group. If you haven't yet
added yourself as a user in the WebServer realm, do so now. Then add
yourself to the Administrators group.
If successful, these special functions return the HTTP
Response result, so the browser stays on the current page (some
browsers may report "link leads nowhere". This is cosmetic, and is not a
Now that you know the essentials, here are the buttons:
If you cycled either of the logfiles, take a look in the
logsdirectory. You should see the cycled-out files with extensions like