diff --git a/files/squid/helpers/squid-url-rewrite.py b/files/squid/helpers/squid-url-rewrite.py
index 92b01a7b9ba60c5e35dcc2b90103d890fe5a563b..b7137b484679092f3e7d5db7a30c3c4b3a984cc3 100755
--- a/files/squid/helpers/squid-url-rewrite.py
+++ b/files/squid/helpers/squid-url-rewrite.py
@@ -9,6 +9,10 @@ import urllib.parse
 
 emptypage = "https://www.ida.liu.se/edu/ugrad/datortenta/empty"
 errorpage = "https://www.ida.liu.se/edu/ugrad/datortenta/blocked.php"
+
+emptyrex = "^https?://www\.ida\.liu\.se/edu/ugrad/datortenta/empty"
+errorrex = "^https?://www\.ida\.liu\.se/edu/ugrad/datortenta/blocked\.php\?.*"
+
 filterlog = "/var/log/squid/filter.log"
 basedir = "/usr/libexec/squid/helpers"
 hostname = socket.gethostname()
@@ -76,7 +80,9 @@ def main():
 
     block_all = basedir + "/../BLOCK_ALL"
     if os.path.isfile(block_all):
-        ruleset.append( ["^.*", False] )
+        ruleset.append( [re.compile(emptyrex), True] )
+        ruleset.append( [re.compile(errorrex), True] )
+        ruleset.append( [re.compile("^.*"), False] )
 
     devel_rules = basedir + "/../devel.rules"
     if 'devel' in hostname and os.path.isfile(devel_rules):