this is a patch, really, with full description builtin:
From 8f16b20818a14f27bb18aa3016d5808dd56082c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?=
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 ^/(.*) [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 @@
RewriteEngine On
- RewriteRule ^/(.*) $1 [L,R,NE]
+ RewriteRule ^/(.*) $1 [L,R,NE]
DocumentRoot
--
2.1.4
works in production in http://anarc.at/ (encrypted with letsencrypt!). -- anarcat