--- surf.c.orig 2010-09-20 13:15:15.054456497 +0100 +++ surf.c 2010-09-20 14:13:07.706497503 +0100 @@ -388,8 +388,18 @@ if(strcmp(uri, "") == 0) return; - u = g_strrstr(uri, "://") ? g_strdup(uri) - : g_strdup_printf("http://%s", uri); + + + if(g_strrstr(uri, "://")) { + u = g_strdup(uri); + } else { + if(!access(uri, R_OK)) { + u = g_strdup_printf("file://%s", uri); + } else { + u = g_strdup_printf("http://%s", uri); + } + } + /* prevents endless loop */ if(c->uri && strcmp(u, c->uri) == 0) { reload(c, &a);