diff --git a/mongoose.c b/mongoose.c index d5e429ca..0de77aa3 100644 --- a/mongoose.c +++ b/mongoose.c @@ -2091,6 +2091,10 @@ static int uri_to_path2(struct mg_connection *c, struct mg_http_message *hm, (mg_snprintf(path + n, path_size - n, "/index.shtml") > 0 && (tmp = fs->st(path, NULL, NULL)) != 0))) { flags = tmp; + } else if ((mg_snprintf(path + n, path_size - n, "/" MG_HTTP_INDEX ".gz") > 0 && + (tmp = fs->st(path, NULL, NULL)) != 0)) { + flags = tmp; + path[n + 1 + strlen(MG_HTTP_INDEX)] = '\0'; // Remove appended .gz } else { path[n] = '\0'; // Remove appended index file name } diff --git a/src/http.c b/src/http.c index e2362bbc..d795aef6 100644 --- a/src/http.c +++ b/src/http.c @@ -675,6 +675,10 @@ static int uri_to_path2(struct mg_connection *c, struct mg_http_message *hm, (mg_snprintf(path + n, path_size - n, "/index.shtml") > 0 && (tmp = fs->st(path, NULL, NULL)) != 0))) { flags = tmp; + } else if ((mg_snprintf(path + n, path_size - n, "/" MG_HTTP_INDEX ".gz") > 0 && + (tmp = fs->st(path, NULL, NULL)) != 0)) { // check for gzipped index + flags = tmp; + path[n + 1 + strlen(MG_HTTP_INDEX)] = '\0'; // Remove appended .gz in index file name } else { path[n] = '\0'; // Remove appended index file name }