Changes with Apache 2.5.0
+ *) mod_dir: Don't search for a DirectoryIndex or DirectorySlash on a URL
+ that was just rewritten by mod_rewrite. PR53929. [Eric Covener]
+
*) mod_dir: Add DirectoryCheckHandler to allow a 2.2-like behavior, skipping
execution when a handler is already set. PR53929. [Eric Covener]
* 20131112.1 (2.5.0-dev) Add suspend_connection and resume_connection hooks
* 20131112.2 (2.5.0-dev) Add ap_regname
* 20131230.0 (2.5.0-dev) cl_head_zero & expect_strict added to server_config
+ * 20131230.1 (2.5.0-dev) REDIRECT_HANDLER_NAME in mod_rewrite.h
*/
#define MODULE_MAGIC_COOKIE 0x41503235UL /* "AP25" */
#ifndef MODULE_MAGIC_NUMBER_MAJOR
#define MODULE_MAGIC_NUMBER_MAJOR 20131230
#endif
-#define MODULE_MAGIC_NUMBER_MINOR 0 /* 0...n */
+#define MODULE_MAGIC_NUMBER_MINOR 1 /* 0...n */
/**
* Determine if the server's current MODULE_MAGIC_NUMBER is at least a
#include "http_log.h"
#include "http_main.h"
#include "util_script.h"
+#include "mod_rewrite.h"
module AP_MODULE_DECLARE_DATA dir_module;
return DECLINED;
}
+ /* we're running between mod_rewrites fixup and its internal redirect handler, step aside */
+ if (!strcmp(r->handler, REDIRECT_HANDLER_NAME)) {
+ return DECLINED;
+ }
+
if (d->index_names) {
names_ptr = (char **)d->index_names->elts;
num_names = d->index_names->nelts;
rewritelog((r, 1, dconf->directory, "internal redirect with %s "
"[INTERNAL REDIRECT]", r->filename));
r->filename = apr_pstrcat(r->pool, "redirect:", r->filename, NULL);
- r->handler = "redirect-handler";
+ r->handler = REDIRECT_HANDLER_NAME;
return OK;
}
}
*/
static int handler_redirect(request_rec *r)
{
- if (strcmp(r->handler, "redirect-handler")) {
+ if (strcmp(r->handler, REDIRECT_HANDLER_NAME)) {
return DECLINED;
}
#include "apr_optional.h"
#include "httpd.h"
+#define REDIRECT_HANDLER_NAME "redirect-handler"
+
/* rewrite map function prototype */
typedef char *(rewrite_mapfunc_t)(request_rec *r, char *key);