Chapter 8. Redirection
Few
things are ever in exactly the right place at the right time, and
this is as true of most web servers as of anything else in this vale
of tears. Alias and Redirect
allow requests to be shunted about your filesystem or around the Web.
Although in a perfect world it should never be necessary to do this,
in practice it is often useful to be able to move HTML files around
on the server, or even to a different server, without having to
change all the links in the HTML script.[52] A more legitimate use -- of Alias,
at least -- is to rationalize directories spread around the
system. For example, they may be maintained by different users, and
perhaps may even be held on remotely mounted filesystems. But
Alias can make them appear to be grouped in a more
logical way.
[52]Too much of
this kind of thing can make your site difficult to maintain.
ScriptAlias allows you to run
CGI scripts, without which few web sites
could function. You have a choice: everything that
ScriptAlias does, and much more, can be done by the new
Rewrite directive (described later in this
chapter), but at a cost of some real programming effort.
ScriptAlias
is
relatively simple to use, but it is also a good example of
Apache's modularity being a little less modular than we might
like. Although ScriptAlias is defined in
mod_alias.c
in
the Apache source code, it needs mod_cgi.c (or
any module that does CGI) in order to function. The functionality of
mod_alias.c is one way of causing CGI scripts to
run. It is compiled into Apache by default.
The httpd.conf file on ...
/site.alias contains the following:
User webuser
Group webgroup
ServerName www.butterthlies.com
ServerAdmin sales@butterthlies.com
DocumentRoot /usr/www/site.alias/htdocs/customers
ErrorLog /usr/www/site.alias/logs/customers/error_log
TransferLog /usr/www/site.alias/logs/customers/access_log
Alias /somewhere_else /usr/www/somewhere_else
<VirtualHost sales.butterthlies.com>
ServerAdmin sales_mgr@butterthlies.com
DocumentRoot /usr/www/site.alias/htdocs/salesmen
ServerName sales.butterthlies.com
ErrorLog /usr/www/site.alias/logs/salesmen/error_log
TransferLog /usr/www/site.alias/logs/salesmen/access_log
</VirtualHost>
8.1. ScriptAlias
ScriptAlias url_path directory_or_filename
Server config, virtual host
We have already come across ScriptAlias (see Chapter 4, "Common Gateway Interface (CGI) "). It allows scripts to be stored safely out of
the way of prying fingers and, moreover, automatically marks the
directory where they are stored as containing CGI scripts.
 |  |  | | 7.3. Imagemaps |  | 8.2. ScriptAliasMatch |
Copyright © 2001 O'Reilly & Associates. All rights reserved.
|