ONLamp.com
oreilly.comSafari Books Online.Conferences.
BooksAll ArticlesSafari BookshelfO'Reilly GearFree Newsletters

FAQS
 FAQs
Apache FAQ
Linux FAQ
XML FAQ

Log in to particpate





TECH JOBS


   Apache FAQ > F. Dynamic Content (CGI and SSI)
Question:  How do I enable CGI execution in directories other than the ScriptAlias?
Answer:

Apache recognizes all files in a directory named as a ScriptAlias as being eligible for execution rather than processing as normal documents. This applies regardless of the file name, so scripts in a ScriptAlias directory don't need to be named "*.cgi" or "*.pl" or whatever. In other words, all files in a ScriptAlias directory are scripts, as far as Apache is concerned.

To persuade Apache to execute scripts in other locations, such as in directories where normal documents may also live, you must tell it how to recognize them - and also that it's okay to execute them. For this, you need to use something like the AddHandler directive.

  1. In an appropriate section of your server configuration files, add a line such as
    AddHandler cgi-script .cgi

    The server will then recognize that all files in that location (and its logical descendants) that end in ".cgi" are script files, not documents.

  2. Make sure that the directory location is covered by an Options declaration that includes the ExecCGI option.

In some situations, you might not want to actually allow all files named "*.cgi" to be executable. Perhaps all you want is to enable a particular file in a normal directory to be executable. This can be alternatively accomplished via mod_rewrite and the following steps:

  1. Locally add to the corresponding .htaccess file a ruleset similar to this one:
    RewriteEngine on
    RewriteBase /~foo/bar/
    RewriteRule ^quux\.cgi$ - [T=application/x-httpd-cgi]
  2. Make sure that the directory location is covered by an Options declaration that includes the ExecCGI and FollowSymLinks option.

This FAQ is from Apache Server Frequently Asked Questions

Sponsored by:

Contact UsMedia KitPrivacy PolicyPress NewsJobs @ O'Reilly
Copyright © 2000-2006 O’Reilly Media, Inc. All Rights Reserved.
All trademarks and registered trademarks appearing on the O'Reilly Network are the property of their respective owners.
For problems or assistance with this site, email