ui-shared: cache errors for "dynamic TTL"

Most errors we generate are (potentially) transient, such as
non-existent object IDs so we don't want them to be cached forever.

Signed-off-by: John Keeping <john@keeping.me.uk>
diff --git a/ui-shared.c b/ui-shared.c
index de06256..89c4897 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -791,6 +791,7 @@
 void cgit_print_error_page(int code, const char *msg, const char *fmt, ...)
 {
 	va_list ap;
+	ctx.page.expires = ctx.cfg.cache_dynamic_ttl;
 	ctx.page.status = code;
 	ctx.page.statusmsg = msg;
 	cgit_print_http_headers();