diff --git a/src/sbbs3/websrvr.c b/src/sbbs3/websrvr.c
index 8b0e3a110c5ce9f61f29378553093ef9eda191f6..e3c33baae4871ad21965dd8078203e2d2483bf91 100644
--- a/src/sbbs3/websrvr.c
+++ b/src/sbbs3/websrvr.c
@@ -3279,7 +3279,8 @@ static enum get_fullpath get_fullpath(http_session_t * session)
 	} else
 		safe_snprintf(str,sizeof(str),"%s%s",root_dir,session->req.physical_path);
 
-	if(startup->file_vpath_prefix[0] && (vhost == false || startup->file_vpath_for_vhosts == true)
+	if(!(startup->options & WEB_OPT_NO_FILEBASE)
+		&& startup->file_vpath_prefix[0] && (vhost == false || startup->file_vpath_for_vhosts == true)
 		&& strncmp(session->req.physical_path, startup->file_vpath_prefix, strlen(startup->file_vpath_prefix)) == 0) {
 		session->parsed_vpath = resolve_vpath(session, session->req.physical_path);
 		switch(session->parsed_vpath) {
diff --git a/src/sbbs3/websrvr.h b/src/sbbs3/websrvr.h
index 4073c0607be9ee57da160834afb005d48805d792..d2554262a2ad76bf122a8c792b382b19e6113906 100644
--- a/src/sbbs3/websrvr.h
+++ b/src/sbbs3/websrvr.h
@@ -88,6 +88,7 @@ static struct init_field web_init_fields[] = {
 #define WEB_OPT_ALLOW_TLS			(1<<7)	/* Enable HTTPS support				*/
 #define WEB_OPT_HSTS_SAFE			(1<<8)	/* All URLs can be served over HTTPS*/
 #define WEB_OPT_NO_HTTP				(1<<9)	/* Disable HTTP support				*/
+#define WEB_OPT_NO_FILEBASE			(1<<10)	/* Disable FileBase support			*/
 
 /* web_startup_t.options bits that require re-init/recycle when changed */
 #define WEB_INIT_OPTS	(WEB_OPT_HTTP_LOGGING)
@@ -104,6 +105,7 @@ static ini_bitdesc_t web_options[] = {
 	{ WEB_OPT_HTTP_LOGGING			,"HTTP_LOGGING"			},
 	{ WEB_OPT_ALLOW_TLS				,"ALLOW_TLS"			},
 	{ WEB_OPT_HSTS_SAFE				,"HSTS_SAFE"			},
+	{ WEB_OPT_NO_FILEBASE			,"NO_FILEBASE"			},
 
 	/* shared bits */
 	{ BBS_OPT_NO_HOST_LOOKUP		,"NO_HOST_LOOKUP"		},