You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2010/09/23 18:57:34 UTC

DO NOT REPLY [Bug 49990] New: Feature request: implement ExpiresActive reset

https://issues.apache.org/bugzilla/show_bug.cgi?id=49990

           Summary: Feature request: implement ExpiresActive reset
           Product: Apache httpd-2
           Version: 2.0.54
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: mod_expires
        AssignedTo: bugs@httpd.apache.org
        ReportedBy: fgaliegue@gmail.com


In a virtual host definition, I have the following:

----
ExpiresActive On

ExpiresDefault "now"
[...]
ExpiresByType application/x-javascript "access plus 1 month"

<Location "/cockpit/d">
    ExpiresDefault "now"
</Location>
----

The problem here is that the ExpiresByType directive has "sneaked" into the the
<Location> section. The documentation says: "It overrides, for the specified
MIME type only, any expiration date set by the ExpiresDefault  directive.".
However, it doesn't explicitly state that this override occurs _in all
contexts_ (Location, Directory).

This can be particularly painful by times, if we want to use mod_expires in
quite complex Web applications where the expiration policy for the same MIME
types can differ depending on the location (here, /js/t.js wants to be cached,
but /cockpit/d/t.js doesn't). And in fact, I believed that specifying
ExpiresDefault in a Location section would override all previous ExpiresDefault
and ExpiresByType - it only overrides ExpiresDefault, though.

So, there are two ways of modifying the behaviour:

* either ExpiresDefault, when define inside a "subsection", _does_ override
ExpiresByType as well;
* or implement an ExpiresActive reset, which could allow one to write:

<Location "/cockpit/d">
    ExpiresActive reset
    ExpiresDefault "now"
</Location>

with the following behavior:
  - if no ExpiresDefault or ExpiresByType exist in the subsection, obey the
already existing ExpiresDefault and ExpiresByType directives;
  - if ExpiresDefault is present, obsoletes existing ExpiresByType directives
(along with overriding any existing ExpiresDefault directive as it does
currently).

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org