| 1 |
root |
1.1 |
.TH redirect 8 "23 September 1995" |
| 2 |
|
|
.SH NAME |
| 3 |
|
|
redirect - simple redirection CGI program |
| 4 |
|
|
.SH SYNOPSIS |
| 5 |
|
|
.B redirect |
| 6 |
|
|
.SH DESCRIPTION |
| 7 |
|
|
.PP |
| 8 |
|
|
Three steps to set up a redirection: |
| 9 |
|
|
.PP |
| 10 |
|
|
1. Make sure your web server is set up to allow CGI programs. |
| 11 |
|
|
.PP |
| 12 |
|
|
2. Make a symbolic link from the file or directory you want to redirect, |
| 13 |
|
|
pointing at this program in the CGI bin directory. |
| 14 |
|
|
.PP |
| 15 |
|
|
3. Add an entry to the file ".redirects" in the directory where your |
| 16 |
|
|
http server runs CGI programs. For most servers, this is the |
| 17 |
|
|
directory where the given CGI program lives. The format of the |
| 18 |
|
|
file is a bunch of lines with a filename, whitespace, and the new |
| 19 |
|
|
URL. For example: |
| 20 |
|
|
.nf |
| 21 |
|
|
/test/oldfile.html http://www.acme.com/test/newfile.html |
| 22 |
|
|
.fi |
| 23 |
|
|
The easiest way to figure out precisely what filename to put into .redirects |
| 24 |
|
|
is to set up the symlink and then click on it. |
| 25 |
|
|
You'll get back a "404 Not Found" page which includes the filename |
| 26 |
|
|
as received by the redirect program, and that's what you want to use. |
| 27 |
|
|
.PP |
| 28 |
|
|
You can also add a wildcard specification to redirect whole groups of files. |
| 29 |
|
|
For example: |
| 30 |
|
|
.nf |
| 31 |
|
|
/wildtest/* http://www.acme.com/test- |
| 32 |
|
|
.fi |
| 33 |
|
|
will cause an access to the /wildtest/somefile.html to be redirected to |
| 34 |
|
|
http://www.acme.com/test-somefile.html. (Note that the asterisk need not |
| 35 |
|
|
be preceded by a slash.) |
| 36 |
|
|
.PP |
| 37 |
|
|
Note: this is designed for thttpd (http://www.acme.com/software/thttpd/) |
| 38 |
|
|
and using it with other web servers may require some hacking. A possible |
| 39 |
|
|
gotcha is with the symbolic link from the old file pointing at this |
| 40 |
|
|
script - servers other than thttpd may not allow that link to be run |
| 41 |
|
|
as a CGI program, because they don't check the link to see that it |
| 42 |
|
|
points into the allowed CGI directory. |
| 43 |
|
|
.SH "SEE ALSO" |
| 44 |
|
|
thttpd(8) |
| 45 |
|
|
.SH "BUGS / DEFICIENCIES" |
| 46 |
|
|
.PP |
| 47 |
|
|
It would be really cool to have this program look for |
| 48 |
|
|
the .redirects file in the same directory as the file being redirected, |
| 49 |
|
|
instead of in the binaries directory. Unfortunately, this appears |
| 50 |
|
|
to be impossible with the information CGI gives, plus the non-standardized |
| 51 |
|
|
but widespread practice of running CGI programs in the directory where |
| 52 |
|
|
the binary lives. Perhaps CGI 1.2 will address this. |
| 53 |
|
|
.PP |
| 54 |
|
|
The wildcard mechanism is very primitive. |
| 55 |
|
|
In particular, any characters that follow the asterisk are blithely |
| 56 |
|
|
ignored. |
| 57 |
|
|
.SH AUTHOR |
| 58 |
|
|
Copyright © 1995 by Jef Poskanzer <jef@acme.com>. |
| 59 |
|
|
All rights reserved. |
| 60 |
|
|
.\" Redistribution and use in source and binary forms, with or without |
| 61 |
|
|
.\" modification, are permitted provided that the following conditions |
| 62 |
|
|
.\" are met: |
| 63 |
|
|
.\" 1. Redistributions of source code must retain the above copyright |
| 64 |
|
|
.\" notice, this list of conditions and the following disclaimer. |
| 65 |
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright |
| 66 |
|
|
.\" notice, this list of conditions and the following disclaimer in the |
| 67 |
|
|
.\" documentation and/or other materials provided with the distribution. |
| 68 |
|
|
.\" |
| 69 |
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND |
| 70 |
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| 71 |
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| 72 |
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE |
| 73 |
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| 74 |
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
| 75 |
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
| 76 |
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
| 77 |
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
| 78 |
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| 79 |
|
|
.\" SUCH DAMAGE. |