--- mod_aclr2.c.unpatched	2015-05-12 20:12:32.687000116 +0200
+++ mod_aclr2.c	2015-05-13 10:23:09.215000116 +0200
@@ -147,6 +147,23 @@
         real_uri += docroot_len;
     }
 
+    if (!strncmp(real_uri, "/~", 2))
+    {
+        char *first = real_uri+1; //points to ~
+        //and then do the same thing for the shifting.
+        char *bbb = strchr(first, '/'); //points to 2nd /
+        if (bbb)
+        {
+            int size = strlen(bbb);
+            memmove(real_uri, bbb, size);
+            real_uri[size] = '\0'; //ensure string is null terminated.
+        }
+        else
+        {
+            real_uri[1] = '\0';    //stomp on the ~ making it "/"
+        }
+    } 
+
     snprintf(iredirect, sizeof(iredirect), "%s%s", idhead, real_uri);
 
     aclr_debug(3, r->server, "trying to process request: %s%s -> %s",
