apache: enable php 7.4 support
[hcoop/domtool2.git] / src / plugins / apache.sml
index f21d3ac..c87644c 100644 (file)
@@ -474,6 +474,7 @@ fun vhostPost () = (!post ();
 val php_version = fn (EVar "php56", _) => SOME 56
                    | (EVar "php72", _) => SOME 72
                   | (EVar "php73", _) => SOME 73
+                  | (EVar "php74", _) => SOME 74
                   | _ => NONE
 
 fun vhostBody (env, makeFullHost) =
@@ -664,17 +665,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, "to", Env.string, "tohost", Env.string, "flags", Env.list flag)
+        (fn (from, to, tohost, 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)