diff --git a/src/main/java/org/qortal/api/HTMLParser.java b/src/main/java/org/qortal/api/HTMLParser.java
index 301a716d..0c72f5da 100644
--- a/src/main/java/org/qortal/api/HTMLParser.java
+++ b/src/main/java/org/qortal/api/HTMLParser.java
@@ -13,8 +13,9 @@ public class HTMLParser {
private String linkPrefix;
- public HTMLParser(String resourceId, boolean usePrefix) {
- this.linkPrefix = usePrefix ? "/site/" + resourceId : "";
+ public HTMLParser(String resourceId, String inPath, boolean usePrefix) {
+ String inPathWithoutFilename = inPath.substring(0, inPath.lastIndexOf('/'));
+ this.linkPrefix = usePrefix ? String.format("/site/%s%s", resourceId, inPathWithoutFilename) : "";
}
/**
diff --git a/src/main/java/org/qortal/api/resource/WebsiteResource.java b/src/main/java/org/qortal/api/resource/WebsiteResource.java
index 93bcdf06..3d4984c3 100644
--- a/src/main/java/org/qortal/api/resource/WebsiteResource.java
+++ b/src/main/java/org/qortal/api/resource/WebsiteResource.java
@@ -335,7 +335,7 @@ public class WebsiteResource {
if (HTMLParser.isHtmlFile(filename)) {
// HTML file - needs to be parsed
byte[] data = Files.readAllBytes(Paths.get(filePath)); // TODO: limit file size that can be read into memory
- HTMLParser htmlParser = new HTMLParser(resourceId, usePrefix);
+ HTMLParser htmlParser = new HTMLParser(resourceId, inPath, usePrefix);
data = htmlParser.replaceRelativeLinks(filename, data);
response.setContentType(context.getMimeType(filename));
response.setContentLength(data.length);