I thought I could get Apache to follow a symbolic link to my most currrent version of a perl cgi script by putting an .htaccess file in cgi-bin that simply says:

Options FollowSymLinks

What an I missing?


Well, for one thing, using
Options foo
instead of
Options +foo (or -foo)

will explicitly override other options that are already set in the httpd config file - this will probably break cgi scripts. FollowSymLinks is already enabled in our config anyway.

I could be wrong, but my recollection is that, at least with our setup, you can’t execute a script that’s a symlink. You might be able to symlink a directory with scripts in it, or you could use a hard link.


I tested it and Options FollowSymLinks makes all my scripts in the directory Forbidden, while Options +FollowSymLinks makes the scripts run again except the one that’s the link.

I thought I’d been doing it that way on my local host and installation of Apache 1.2. I thought I used to have several versions of scripts named script1.cgi, script2.cgi, etc., and link my current best running version to script.cgi. My installation also has FollowSymLinks in the http.conf file. But maybe I’m mistaken.

I can just cp the best version to script.cgi, they’re not that big.


Well a hard link will be easier than copying it, since it’s easier to keep the file updated.

The problem is most likely with suexec, and not specifically with Apache; are you using suexec as a wrapper for CGI scripts on your machine?


I don’t think so. How do I tell?