X-Git-Url: http://git.hcoop.net/hcoop/domtool2.git/blobdiff_plain/24709d5a3a108bebf3ab0676859b58b3f7910dcb..6804ff6b4360543d25859f5693da43ecc8cb31be:/src/plugins/apache.sml diff --git a/src/plugins/apache.sml b/src/plugins/apache.sml index 1a89983..a490419 100644 --- a/src/plugins/apache.sml +++ b/src/plugins/apache.sml @@ -1,6 +1,6 @@ (* HCoop Domtool (http://hcoop.sourceforge.net/) * Copyright (c) 2006-2009, Adam Chlipala - * Copyright (c) 2013 Clinton Ebadi + * Copyright (c) 2013,2014,2015,2017,2018,2019 Clinton Ebadi * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -473,7 +473,8 @@ fun vhostPost () = (!post (); val php_version = fn (EVar "php56", _) => SOME 56 | (EVar "php72", _) => SOME 72 - | _ => NONE + | (EVar "php73", _) => SOME 73 + | _ => NONE fun vhostBody (env, makeFullHost) = let @@ -663,17 +664,26 @@ fun checkExpires () = (write "\tExpiresActive on\n"; expiresEnabled := true) -val () = Env.action_three "localProxyRewrite" - ("from", Env.string, "to", Env.string, "port", Env.int) - (fn (from, to, port) => +val () = Env.action_four "proxyRewrite" + ("from", Env.string, "tohost", Env.string, "to", Env.string, "flags", Env.list flag) + (fn (from, tohost, to, flags) => (checkRewrite (); write "\tRewriteRule\t\""; write from; - write "\"\thttp://localhost:"; - write (Int.toString port); - write "/"; + write "\"\t\""; + write tohost; + write "/"; (* ensure rewrite rule can't change port *) write to; - write " [P]\n")) + write "\""; + write " [P"; + case flags of + [] => () + | flag::rest => (write ","; + write flag; + app (fn flag => (write ","; + write flag)) rest); + + write "]\n")) val () = Env.action_four "expiresByType" ("mime", Env.string, "base", interval_base, "num", Env.int, "inter", interval) @@ -762,15 +772,20 @@ val () = Env.action_one "rewriteBase" write prefix; write "\"\n")) +val _ = Env.type_one "mod_rewrite_trace_level" + Env.int + (fn n => n > 0 andalso n <= 8) + val () = Env.action_one "rewriteLogLevel" ("level", Env.int) - (fn level => + (fn 0 => (checkRewrite (); - write "\tRewriteLog "; - write' (fn x => x); - write "/rewrite.log\n\tRewriteLogLevel "; - write (Int.toString level); - write "\n")) + write "\tLogLevel rewrite:warn\n") + | level => + (checkRewrite (); + write "\tLogLevel rewrite:trace"; + write (Int.toString level); + write "\n")) val () = Env.action_two "alias" ("from", Env.string, "to", Env.string) @@ -887,6 +902,13 @@ val () = Env.action_one "directoryIndex" app (fn opt => (write " "; write opt)) opts; write "\n")) +val () = Env.action_one "directorySlash" + ("enable", Env.bool) + (fn enable => + (write "\tDirectorySlash "; + if enable then write "On" else write "Off"; + write "\n")) + val () = Env.action_one "serverAliasHost" ("host", Env.string) (fn host =>