svn commit: r1934979 - httpd/httpd/trunk/docs/manual/mod
[email protected] Thu, 04 Jun 2026 15:22:55 -0000
| Newsgroups | gmane.comp.apache.cvs |
|---|---|
| Message-ID | <178058657553.2775549.2915891220408308477@svn03-he-fi> |
Author: rbowen
Date: Thu Jun 4 15:22:55 2026
New Revision: 1934979
Log:
docs: Rewrite AllowOverride Options= warning
The existing note about implicit disabling of Options was difficult
to parse. Rewrite as a type="warning" note with:
- Clear statement that the restriction controls enabling, not disabling
- Explanation of absolute vs relative (+/-) Options syntax
- Concrete example showing how inherited options get implicitly disabled
BZ#70099
Modified:
httpd/httpd/trunk/docs/manual/mod/core.xml
Modified: httpd/httpd/trunk/docs/manual/mod/core.xml
==============================================================================
--- httpd/httpd/trunk/docs/manual/mod/core.xml Thu Jun 4 11:52:55 2026 (r1934978)
+++ httpd/httpd/trunk/docs/manual/mod/core.xml Thu Jun 4 15:22:55 2026 (r1934979)
@@ -479,14 +479,35 @@ NoDecode option available in 2.3.12 and
followed by a comma-separated list, without spaces, of options that
may be set using the <directive module="core">Options</directive> directive.
- <note><title>Implicit disabling of Options</title>
- <p>Even though the list of options that may be used in .htaccess files
- can be limited with this directive, as long as any <directive
- module="core">Options</directive> directive is allowed any
- other inherited option can be disabled by using the non-relative
- syntax. In other words, this mechanism cannot force a specific option
- to remain <em>set</em> while allowing any others to be set.
- </p></note>
+ <note type="warning"><title>Implicit disabling of Options</title>
+ <p>This restriction only controls which options a
+ <code>.htaccess</code> file may <em>enable</em>. It does not
+ prevent inherited options from being <em>disabled</em>.</p>
+
+ <p>When a <directive module="core">Options</directive> directive
+ in <code>.htaccess</code> uses absolute syntax (without
+ <code>+</code> or <code>-</code> prefixes), it <em>replaces</em>
+ the entire inherited option set. Any previously active options
+ not listed are implicitly turned off—even options that are
+ not in the <code>AllowOverride</code> permitted list.</p>
+
+ <p>For example, if the server configuration sets:</p>
+ <highlight language="config">
+Options Indexes FollowSymLinks ExecCGI
+AllowOverride Options=Indexes
+ </highlight>
+ <p>and a <code>.htaccess</code> file contains:</p>
+ <highlight language="config">
+Options Indexes
+ </highlight>
+ <p>then <code>FollowSymLinks</code> and <code>ExecCGI</code> are
+ implicitly disabled for that directory, even though the
+ <code>AllowOverride</code> line only permits setting
+ <code>Indexes</code>.</p>
+
+ <p>In short, this mechanism cannot force a specific option to
+ remain <em>set</em> while allowing any others to be set.</p>
+ </note>
<highlight language="config">
AllowOverride Options=Indexes,MultiViews