<?xml version="1.0"?>
<!DOCTYPE modulesynopsis SYSTEM "../style/modulesynopsis.dtd">
<?xml-stylesheet type="text/xsl" href="../style/manual.en.xsl"?>
-<modulesynopsis>
+<!-- $LastChangedRevision$ -->
-<name>mod_actions</name>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
-<description>This module provides for executing CGI scripts based on
-media type or request method.</description>
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<modulesynopsis metafile="mod_actions.xml.meta">
+
+<name>mod_actions</name>
+
+<description>Execute CGI scripts based on media type or request method.</description>
<status>Base</status>
<sourcefile>mod_actions.c</sourcefile>
<summary>
<p>This module has two directives. The <directive
module="mod_actions">Action</directive> directive lets you run CGI
- scripts whenever a file of a certain type is requested. The
+ scripts whenever a file of a certain <glossary
+ ref="mime-type">MIME content type</glossary> is requested. The
<directive module="mod_actions">Script</directive> directive lets
you run CGI scripts whenever a particular method is used in a
request. This makes it much easier to execute scripts that process
- files.</p>
-</summary>
+ files.</p> </summary>
-<directivesynopsis>
+<seealso><module>mod_cgi</module></seealso>
+<seealso><a href="../howto/cgi.html">Dynamic Content with CGI</a></seealso>
+<seealso><a href="../handler.html">Apache httpd's Handler Use</a></seealso>
+<directivesynopsis>
<name>Action</name>
-
<description>Activates a CGI script for a particular handler or
content-type</description>
-
-<syntax>Action <em>action-type cgi-script</em></syntax>
+<syntax>Action <var>action-type</var> <var>cgi-script</var> [virtual]</syntax>
<contextlist>
<context>server config</context><context>virtual host</context>
<context>directory</context><context>.htaccess</context>
<usage>
<p>This directive adds an action, which will activate
- <em>cgi-script</em> when <em>action-type</em> is triggered by the
- request. The <em>cgi-script</em> is the URL-path to a resource
- that has been designated as a CGI script using <directive
- module="mod_alias">ScriptAliase</directive> or <directive
+ <var>cgi-script</var> when <var>action-type</var> is triggered by
+ the request. The <var>cgi-script</var> is the URL-path to a
+ resource that has been designated as a CGI script using <directive
+ module="mod_alias">ScriptAlias</directive> or <directive
module="mod_mime">AddHandler</directive>. The
- <em>action-type</em> can be either a <a
- href="../handler.html">handler</a> or a MIME content type. It
- sends the URL and file path of the requested document using the
- standard CGI PATH_INFO and PATH_TRANSLATED environment
- variables.</p>
-
-<example>
-<title>Examples</title>
-
- # Requests for files of a particular type:<br />
- Action image/gif /cgi-bin/images.cgi<br />
-<br />
- # Files of a particular file extension<br />
- AddHandler my-file-type .xyz<br />
- Action my-file-type /cgi-bin/program.cgi<br />
-</example>
-
- <p>In the first example, requests for files with a MIME content
- type of <code>image/gif</code> will instead be handled by the
+ <var>action-type</var> can be either a <a
+ href="../handler.html">handler</a> or a <glossary
+ ref="mime-type">MIME content type</glossary>. It sends the URL and
+ file path of the requested document using the standard CGI
+ <code>PATH_INFO</code> and <code>PATH_TRANSLATED</code>
+ environment variables. The handler used for the particular request
+ is passed using the <code>REDIRECT_HANDLER</code> variable.</p>
+
+ <example><title>Example: MIME type</title>
+ <highlight language="config">
+# Requests for files of a particular MIME content type:
+Action image/gif /cgi-bin/images.cgi
+ </highlight>
+ </example>
+
+ <p>In this example, requests for files with a MIME content
+ type of <code>image/gif</code> will be handled by the
specified cgi script <code>/cgi-bin/images.cgi</code>.</p>
- <p>In the second example, requests for files with a file extension of
- <code>.xyz</code> are handled instead by the specified cgi script
+ <example>
+ <title>Example: File extension</title>
+ <highlight language="config">
+# Files of a particular file extension
+AddHandler my-file-type .xyz
+Action my-file-type /cgi-bin/program.cgi
+ </highlight>
+ </example>
+ <p>In this example, requests for files with a file extension of
+ <code>.xyz</code> are handled by the specified cgi script
<code>/cgi-bin/program.cgi</code>.</p>
+
+ <p>The optional <code>virtual</code> modifier turns off the check
+ whether the requested file really exists. This is useful, for example,
+ if you want to use the <directive>Action</directive> directive in
+ virtual locations.</p>
+
+ <highlight language="config">
+<Location "/news">
+ SetHandler news-handler
+ Action news-handler /cgi-bin/news.cgi virtual
+</Location>
+ </highlight>
</usage>
<seealso><directive module="mod_mime">AddHandler</directive></seealso>
-
</directivesynopsis>
<directivesynopsis>
-
<name>Script</name>
-
<description>Activates a CGI script for a particular request
method.</description>
-<syntax> Script <em>method cgi-script</em></syntax>
+<syntax>Script <var>method</var> <var>cgi-script</var></syntax>
<contextlist>
<context>server config</context><context>virtual host</context>
<context>directory</context></contextlist>
<usage>
<p>This directive adds an action, which will activate
- <em>cgi-script</em> when a file is requested using the method of
- <em>method</em>. The <em>cgi-script</em> is the URL-path to a
+ <var>cgi-script</var> when a file is requested using the method of
+ <var>method</var>. The <var>cgi-script</var> is the URL-path to a
resource that has been designated as a CGI script using <directive
- module="mod_alias">ScriptAliase</directive> or <directive
+ module="mod_alias">ScriptAlias</directive> or <directive
module="mod_mime">AddHandler</directive>. The URL and
file path of the requested document is sent using the standard CGI
- PATH_INFO and PATH_TRANSLATED environment variables.</p>
+ <code>PATH_INFO</code> and <code>PATH_TRANSLATED</code> environment
+ variables.</p>
-<note>
+ <note>
Any arbitrary method name may be used. <strong>Method names are
- case-sensitive</strong>, so <code>Script PUT</code> and
- <code>Script put</code> have two entirely different
+ case-sensitive</strong>, so <code>Script PUT</code> and
+ <code>Script put</code> have two entirely different
effects.
-</note>
+ </note>
- <p>Note that the Script command defines default actions only.
- If a CGI script is called, or some other resource that is
+ <p>Note that the <directive>Script</directive> command defines default
+ actions only. If a CGI script is called, or some other resource that is
capable of handling the requested method internally, it will do
- so. Also note that Script with a method of <code>GET</code>
- will only be called if there are query arguments present
+ so. Also note that <directive>Script</directive> with a method of
+ <code>GET</code> will only be called if there are query arguments present
(<em>e.g.</em>, foo.html?hi). Otherwise, the request will
proceed normally.</p>
-<example>
-<title>Examples</title>
- # For <ISINDEX>-style searching<br />
- Script GET /cgi-bin/search<br />
- # A CGI PUT handler<br />
- Script PUT /~bob/put.cgi<br />
-</example>
-</usage>
+ <highlight language="config">
+# All GET requests go here
+Script GET /cgi-bin/search
+# A CGI PUT handler
+Script PUT /~bob/put.cgi
+ </highlight>
+</usage>
</directivesynopsis>
-</modulesynopsis>
\ No newline at end of file
+</modulesynopsis>