[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Script Alias Directive in Apache



On Thu, Dec 26, 2002 at 02:14:47PM -0800, Michael Olds wrote:
> ScriptAlias /cgi-bin/ "/www/usr/public_html/cgi-local/"
> ScriptAlias /cgi-bin/ "/www/usr2/public_html/cgi-local/"

This won't work. ScriptAlias works just like Alias, doing this tries to
assign the same URI to two different directories.

> <Directory "/www/usr/public_html/cgi-local">
>     AllowOverride None
>     Options ExecCGI
>     Order allow,deny
>     Allow from all
> </Directory>

If the directory is ScriptAlias'd I think you don't actually need to
specify ExecCGI, it's implicit. Not that it does any harm.

> <VirtualHost 000.000.000.000>
>    UseCanonicalName off
>    ServerName www.usr.com
>    DocumentRoot "/www/usr2/public_html"
>    ScriptAlias /cgi-bin/ "/www/usr/public_html/cgi-local"
>    ServerAdmin usr@his
> </VirtualHousr2>
> 
> <VirtualHost 000.000.000.000>
>    UseCanonicalName off
>    ServerName www.usr2.com
>    DocumentRoot "/www/usr2/public_html"
>    ScriptAlias /cgi-bin/ "/www/usr2/public_html/cgi-local"
>    ServerAdmin usr@his
> </VirtualHousr2>

If you have only these without the ScriptAlias lines and the your
virtual hosts are set up correctly, it should work. If you have
/cgi-bin/ set up in the top-level server configuration (it is by
default) it will get in the way, so make sure all other ScriptAlias
lines are commented out. If you want to have a global CGI directory in
addition to the private ones you'll have to use different paths (like
cgi-bin for one and cgi-local or cgi-shared for the other).

Alternatively, if you just want individual user directories (~user) to
have CGIs instead of virtual hosts you can add ExecCGI to the options
for the user directories and use "AddHandler cgi-script cgi" to treat
any file ending in .cgi as a CGI.

-- 
Michael Heironimus



Reply to: