[Remove entries to the current 2.0 section below, when backported]
+ *) mod_rewrite: fix a problem in the proxy support of mod_rewrite.
+ The broken code was inserting multiple "proxy:" fields in the
+ rewritten URIs.
+ [Submitted by: Eider Oliveira <eider@bol.com.br>]
+ [Updated and reviewed by: Paul J. Reder]
+
*) mod_actions: Propagate the handler name to the action script via
the REDIRECT_HANDLER environment variable. [André Malo]
static int hook_uri2file(request_rec *r)
{
rewrite_server_conf *conf;
+ const char *saved_rulestatus;
const char *var;
const char *thisserver;
char *thisport;
thisurl, NULL);
apr_table_setn(r->subprocess_env, ENVVAR_SCRIPT_URI, var);
+ if (!(saved_rulestatus = apr_table_get(r->notes,"already_rewritten"))) {
/* if filename was not initially set,
* we start with the requested URI
*/
rewritelog(r, 2, "init rewrite engine with requested uri %s",
r->filename);
}
+ else {
+ rewritelog(r, 2, "init rewrite engine with passed filename %s."
+ " Original uri = %s", r->filename, r->uri);
+ }
/*
* now apply the rules ...
*/
rulestatus = apply_rewrite_list(r, conf->rewriterules, NULL);
+ apr_table_set(r->notes,"already_rewritten",
+ apr_psprintf(r->pool,"%d",rulestatus));
+ }
+ else {
+ rewritelog(r, 2,
+ "uri already rewritten. Status %s, Uri %s, r->filename %s",
+ saved_rulestatus, r->uri, r->filename);
+ rulestatus = atoi(saved_rulestatus);
+ }
+
if (rulestatus) {
unsigned skip;
return 7;
}
break;
+
+ case 'p':
+ case 'P':
+ if (!strncasecmp(uri, "roxy:", 5)) { /* proxy: */
+ return 6;
+ }
+ break;
}
return 0;