https://bz.apache.org/bugzilla/show_bug.cgi?id=58231

--- Comment #16 from Luca Toscano <[email protected]> ---
(In reply to Yann Ylavic from comment #15)
> Maybe using err_headers_out (instead of headers_out) to set Vary in the
> first place?

Yann you are awesome as usual, the following seems working perfectly:

Index: modules/mappers/mod_rewrite.c
===================================================================
--- modules/mappers/mod_rewrite.c       (revision 1810117)
+++ modules/mappers/mod_rewrite.c       (working copy)
@@ -5276,6 +5276,8 @@
  */
 static int handler_redirect(request_rec *r)
 {
+    const char *vary_headers;
+
     if (strcmp(r->handler, REWRITE_REDIRECT_HANDLER_NAME)) {
         return DECLINED;
     }
@@ -5285,6 +5287,12 @@
         return DECLINED;
     }

+    vary_headers = apr_table_get(r->headers_out, "Vary");
+
+    if(vary_headers) {
+        apr_table_setn(r->err_headers_out, "Vary", vary_headers);
+    }
+
     /* now do the internal redirect */
     ap_internal_redirect(apr_pstrcat(r->pool, r->filename+9,
                                      r->args ? "?" : NULL, r->args, NULL), r);

Will do more tests (and probably improve the code) but it seems really
promising! Thanks!

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to