this is a [[patch]], really, with full description builtin:

<pre>
From 8f16b20818a14f27bb18aa3016d5808dd56082c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= <anarcat@koumbit.org>
Date: Wed, 18 Nov 2015 23:08:10 -0500
Subject: [PATCH] fix ssl redirections

it seems the previous redirections were not doing anything, or more
precisely, they were looping:

    RewriteRule ^/(.*) <TMPL_VAR URL_ESCAPED> [L,R,NE]

... was generting the following rule:

    RewriteRule ^/(.*)  [L,R,NE]

because url_escaped wasn't passed to the template. but even if was, it
would still do an infinite redirect loop on itself. what it needs is
https_url_escaped, which wasn't passed either.
---
 ikisite                    | 4 ++++
 templates/apache-site.tmpl | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/ikisite b/ikisite
index 9197ca3..a847c20 100755
--- a/ikisite
+++ b/ikisite
@@ -1621,6 +1621,10 @@ sub enable {
                cgidir => cgidir($hostname),
                logdir => logdir($hostname),
                source_hostname => "source.$hostname",
+               # Value escaped to prevent leakage
+               # into RewriteEngine regexp.
+               url_escaped => quotemeta($redirurl),
+               https_url_escaped => quotemeta($httpsredirurl),
                @ssl_template_vars
        );

diff --git a/templates/apache-site.tmpl b/templates/apache-site.tmpl
index 58e8697..7823b87 100644
--- a/templates/apache-site.tmpl
+++ b/templates/apache-site.tmpl
@@ -15,7 +15,7 @@

 <TMPL_IF REDIRECT_TO_HTTPS>
        RewriteEngine On
-       RewriteRule ^/(.*) <TMPL_VAR URL_ESCAPED>$1 [L,R,NE]
+       RewriteRule ^/(.*) <TMPL_VAR HTTPS_URL_ESCAPED>$1 [L,R,NE]
 <TMPL_ELSE>
        DocumentRoot <TMPL_VAR DESTDIR>
        <Directory />
--
2.1.4
</pre>

works in production in http://anarc.at/ (encrypted with letsencrypt!). -- [[anarcat]]

> [[applied|done]] --[[Joey]]
